首页 文章

机器人加入服务器时发送消息

提问于
浏览
0

每当机器人被邀请到服务器时,我都想发送一条消息 . 然后应该写下这样的话:“你好,这是我的不和谐机器人”

到目前为止,我有这个代码,它不会产生任何错误,但也不会发送消息 .

@bot.event
async def on_server_join(ctx):
    for guild in bot.guilds:
        for channel in guild.text_channels:
            if channel.permissions_for(guild.me).say:
                await ctx.message.channel.send('Hello! \n')
                break

1 回答

  • 1

    您的代码中存在一些错误 . 下面是一个版本,只是在它刚刚加入的服务器的 #general 文本通道中打招呼(而不是它所属的每个服务器的每个文本通道) . 以下代码用于重写分支 .

    from discord.utils import find
    
    @client.event
    async def on_guild_join(guild):
        general = find(lambda x: x.name == 'general',  guild.text_channels)
        if general and general.permissions_for(guild.me).send_messages:
            await general.send('Hello {}!'.format(guild.name))
    

相关问题