当新用户加入系统消息通道中的服务器时,如何发送消息?

2024-04-25 09:43:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

class member_greeting(commands.Cog):
def __init__(self, bot):
    self.bot = bot

@commands.Cog.listener()
async def on_guild_join(self):
    for guild in self.bot.guilds:
        await guild.system_channel.send("I'm ready to go!")

def setup(bot):
    bot.add_cog(member_greeting(bot))

不向系统消息通道发送消息 如何正确书写


Tags: 代码self消息asyncinitondefbot
1条回答
网友
1楼 · 发布于 2024-04-25 09:43:08

^{}事件具有^{}参数:

class member_greeting(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @commands.Cog.listener()
    async def on_guild_join(self, guild):
        await guild.system_channel.send("I'm ready to go!")

def setup(bot):
    bot.add_cog(member_greeting(bot))

如果你想让你的机器人在加入新帮会时在它所在的每台服务器上发送消息,我相信你必须使用async for guild in self.bot.guilds:而不是for guild in self.bot.guilds

class member_greeting(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

    @commands.Cog.listener()
    async def on_guild_join(self):
        async for guild in self.bot.guilds:
            await guild.system_channel.send("I'm ready to go!")

    def setup(bot):
        bot.add_cog(member_greeting(bot))

相关问题 更多 >