400 Неверный запрос (код ошибки: 50006) только от одного из двух операторов if, возвращающих строкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 400 Неверный запрос (код ошибки: 50006) только от одного из двух операторов if, возвращающих строки

Сообщение Anonymous »

При обновлении бота Discord мне не удалось реализовать новую команду, на которую он мог бы ответить, первая работает правильно, а вторая отвечает только 400 Bad Request (код ошибки: 50006).

Код: Выделить всё

import random

def handle_response(message) -> str:
p_message = message.lower()

if "gub" in p_message:
return "GUB."

if "roll" in p_message:
result = random.randrange(1,6)
return f"Rolling a d6...\nYou rolled a {str(result)}!"

Код: Выделить всё

import discord
import responses

intents = discord.Intents.default()
intents.message_content = True

async def send_message(message, user_message, is_private):
try:
response = responses.handle_response(user_message)
await message.author.send(response) if is_private else await message.channel.send(response)
except Exception as e:
print(e)

def run_discord_bot():
token = "nope"
client = discord.Client(intents=intents)

@client.event
async def on_ready():
print(f'{client.user} is now running.')

@client.event
async def on_message(message):
if message.author == client.user:
return

username = str(message.author)
user_message = str(message.content)
channel = str(message.channel)

print(f"{username} said: '{user_message}' ({channel})")

if user_message[:4] == 'GUB!':
user_message = user_message[4:]
await send_message(message, user_message, is_private=False)
else:
pass

client.run(token)
Я попытался сделать вторую строку простой строкой из трех букв, как и первую, полностью закомментировал первую, изменил имена всех переменных, чтобы убедиться, что имя переменной и искомый контент не был конфликтным, каждый раз он возвращал один и тот же ответ.
Смешное изменение строки префикса сообщения пользователя и первой строки оператора if на одну букву нарушает обнаружение префикса, не работает для новых или старых строк.

Подробнее здесь: https://stackoverflow.com/questions/787 ... -returning
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»