Discord Python - Как сделать поиск BOT для сообщения? - PullRequest
0 голосов
/ 18 октября 2018

Кто-нибудь знает, как заставить BOT искать определенное сообщение в определенном канале на определенном сервере?Если бот нашел его, он сделает ssm, иначе он сделает ssm еще.У меня есть это сейчас:

@bot.command(pass_context=True)
async def command(ctx):
    search = discord.utils.get(bot.get_message, message = 'MESSAGE', channel = bot.get_channel(id = 'CHANNEL ID'))
    if not search == None:
        await bot.say("SSM")
    else:
        await bot.say("SSM ELSE")

Это говорит об ошибке ...

1 Ответ

0 голосов
/ 18 октября 2018

Здесь я использую logs_from, чтобы прочитать сообщения канала с идентификаторами, ища сообщение, содержащее идентификатор сервера, на котором была вызвана команда.

from discord import NotFound

@bot.command(pass_context=True, name="command")
async def _command(ctx):
    channel_id = "123"
    channel = bot.get_channel(channel_id)
    if not channel:
        await bot.say("Error: Could not resolve controller channel")
        return
    server_id = ctx.message.server.id
    async for message in bot.logs_from(channel, limit=500):
        if server_id in message.content:
            await bot.say("SSM")
            return
    await bot.say("SSM ELSE")
...