Проблема дублирования с аргументами в discord.py

#python #discord #discord.py

Вопрос:

Я создаю бота для раздора с Discord.py и у меня возникают некоторые проблемы при использовании *arg / **kwarg при получении msg.контента. Вот как выглядит код.

 if msg.content.startswith('bonk'):
    var = str(msg.content)
    for arg in var:
        var  = arg
        
        if ' ' in var:
            var = var.replace(' ', ' ')
    print(var)
 

Результат : bonk bonkersbonk bonkers
По какой-то причине он дублируется, когда это должно быть только bonk bonkers
Есть ли какая-либо причина, по которой это происходит, и если да, то как мне ее решить?

Ответ №1:

Здесь недостаточно информации, но я собираюсь сделать предположение, что если бы вы поместили print(msg.content) только первое if утверждение, оно бы отображалось bonk bonkers .

Это означало бы , что, когда вы устанавливаете переменную var В msg.content , var уже равно bonk bonkers .

С учетом сказанного, когда вы выполняете итерацию var в цикле for, arg будет установлен каждый символ bonk bonkers , к которому вы затем добавляете var , который дублирует его.

Похоже, все, что вам нужно сделать, чтобы получить желаемый результат, — это

 if msg.content.startswith('bonk'):
    print(msg.content.replace(' ', ' '))
 

Комментарии:

1. Только что понял, в чем проблема! Мне не нужно было использовать оператор arg, и ваше решение сработало, большое вам спасибо!