#python #discord #bots #discord.py
#python #Discord #боты #discord.py
Вопрос:
В принципе, проблема действительно проста, я знаю, что мне нужно получить guild
объект из on_member_join
события, хотя, когда я искал решения своей проблемы, я не мог найти никакого решения для нее, в документации говорится, что единственное, что я могу получить из on_member_join
события, — это member
объект, и я не нашел никакого способа получитьобъект гильдии из него. Итак, есть ли какой-либо способ проверить, какой член гильдии присоединился (и получить его guild
объект)?
Некоторый код для контекста:
@bot.event
async def on_member_join(member):
AutoRolechannel = bot.get_channel(channelId1)
CharacterAddChannel = bot.get_channel(channelId2)
WelcommingChannel = bot.get_channel(ChannelId3)
await WelcommingChannel.send("Hi <@!" str(
member.id) ">. I'm glad to see you here.n"
"Please make sure to check every channel that you have been pinged on")
ping1 = await CharacterAddChannel.send("<@!" str(member.id) ">")
ping2 = await AutoRolechannel.send("<@!" str(member.id) ">")
await ping1.delete()
await ping2.delete()
Постскриптум:
Я знаю, что мог бы добиться этого, добавив функцию проверки и заставив игрока что-то сделать при подключении к серверу, поэтому я получу контекст действия (например, add_reaction
событие или какую-нибудь простую команду, например !verificate
), но я бы хотел избежать такого решения
Ответ №1:
Объект-член на самом деле имеет ссылку на гильдию: https://discordpy.readthedocs.io/en/latest/api.html#discord .Член.гильдия
Просто используйте member.guild
.