Как сравнить целое число с сообщением в канале разногласий, прочитанном ботом? - PullRequest
0 голосов
/ 04 февраля 2019

Итак, я делаю действительно простого бота, который мне нужен на сервере.Это действительно простая работа.Чтобы лучше понять, что мне нужно: у меня есть канал, где люди должны угадывать определенное число от 1 до 50000. Если они угадывают, они выигрывают, и бот объявляет об этом.Мне нужно, чтобы бот проверял каждое сообщение и, если это не число от 1 до 50000, удаляет сообщение.

В настоящее время это все, что у меня есть.Я пробовал множество вещей, например, пытался преобразовать «сообщение» в целое число, но оно мне не дало.

@client.event
    async def on_message(message):
        if(message.channel.id == "492772765737156628"):
            if message.content > 50000:
                await client.delete_message(message)

Я действительно новичок в программировании, особенно в Python, и знаю только некоторые основы,Я благодарю каждый ответ и помощь, которую я получаю:)

1 Ответ

0 голосов
/ 04 февраля 2019

Вы хотите message.content (строка) как целое число, а не message (Message объект, который содержит много других данных).

Существует 3 варианта значения message.content:

  1. Нецелочисленный текст
  2. Целочисленный текст> 50000
  3. Целочисленный текст <= 50000 </li>

вы можете проверить все эти

@client.event
async def on_message(message):
    if(message.channel.id == "492772765737156628"):
        try:
            content = int(message.content)
            if content > 50000:
                await client.delete_message(message)
        except ValueError:
            await client.delete_message(message)  # not an integer
...