Отправка сообщений в on_ready? Python дискорд бот - PullRequest
0 голосов
/ 26 января 2020

Я хочу, чтобы мой бот отправлял сообщение при подключении к сети в событии on_ready. Линия работает в (on_message), но я не смог заставить ее что-то отправить в (on_ready)

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))
    await message.channel.send('The bot is online ')

1 Ответ

0 голосов
/ 27 января 2020

У вас нет выбранного канала для отправки сообщения. Сначала вам нужно выбрать канал, затем вы можете отправить сообщение этому каналу.

channel = client.get_channel(12324234183172)
await channel.send('hello')

Вы можете получить идентификатор канала, просматривая список каналов на подключенном сервере:

text_channel_list = []
for server in Client.servers:
    for channel in server.channels:
        if channel.type == 'Text':
            text_channel_list.append(channel)

С Как получить все текстовые каналы, используя discord.py?

С Как отправить сообщение на указанный c канал? в разногласиях python FAQ.

...