Discord.py - Bot 不发送消息并且没有错误消息

所以我正在为我的服务器制作我自己的机器人,一段时间后我终于找到了一个用于自动角色和角色分配的字符串。然后我继续为机器人添加另一个字符串,简单地回复“你好”。一旦我添加角色命令将不再起作用。一旦我把它拿出来,它就会再次工作。另一方面,我有一个 8ball 和一个掷骰子命令,可以使用和不使用 Hello 命令我不知道是什么问题......


@client.event

async def on_member_join(member):

    channel = discord.utils.get(member.guild.channels, name='entrance')

    await channel.send(f'Welcome {member.mention} to Dreamy Castle! \n Please make sure to read the rules!')

    role = discord.utils.get(member.guild.roles, name="Peasants")

    await member.add_roles(role)


@client.event

async def on_message(message):

    if message.content.startswith('+acceptrules'):

        member = message.author

        role1 = discord.utils.get(member.guild.roles, name='The People')

        await member.add_roles(role1)


@client.event #this is the hello command

async def on_message(message):

    message.content.lower()

    if message.content.startswith('Hello Conny'):

        await message.channel.send('Hello!')


慕村225694
浏览 113回答 1
1回答

胡说叔叔

对同一事件使用if而elif不是 2 个不同的函数。此外,您可能需要commands.Bot一个功能齐全的命令机器人。@client.eventasync def on_message(message):    if message.content.startswith('+acceptrules'):        member = message.author        role1 = discord.utils.get(member.guild.roles, name='The People')        await member.add_roles(role1)    elif message.content.lower().startswith("hello conny"):        await message.channel.send("Hello!")    await client.process_commands(message)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python