#discord #bots #discord.py
#Discord #боты #discord.py
Вопрос:
Мне нужно сделать так, чтобы, когда бот присоединяется к новому серверу, он записывал конкретное сообщение в самый первый текстовый канал.
Я пытался что-то сделать:
@bot.event
async def on_guild_join(guild):
print("Join to " guild.name)
guild_to_audiocontroller[guild] = AudioController(bot, guild)
await guild_to_audiocontroller[guild].register_voice_channel(guild.voice_channels[0])
for guild in bot.guilds:
await guild.text_channels[0].send(join_message)
Но он не хочет работать, как мне это сделать?
Комментарии:
1. Что вы подразумеваете под «это не хочет работать»? У вас есть какое-либо сообщение об ошибке?
2. @Mr_Spaar нет, он просто игнорирует эти строки
3. Если этот код работал, каждый раз, когда ваш бот присоединялся к серверу, он отправлял ваше сообщение о присоединении на каждый отдельный сервер, членом которого он является, это намеренно?
4. @derw О, нет, мне нужно, чтобы он отправлял только тому, к кому он присоединился. Вы не знаете, как это сделать?
Ответ №1:
Пока у вашего бота есть Send Messages
разрешения, все, что вам нужно для отправки сообщения при присоединении, это:
@bot.event
async def on_guild_join(guild):
await guild.text_channels[0].send("I have joined the server")