繁体   English   中英

Discord.py - 机器人不发送消息并且没有错误消息

[英]Discord.py - Bot not sending messages & no error messages

所以我正在为我的服务器制作自己的机器人,过了一段时间我终于找到了一个有效的自动角色和角色分配字符串。 然后我继续为机器人添加另一个字符串,只是回复“你好”。 一旦我添加角色命令将不再起作用。 一旦我把它拿出来,它就会再次起作用。 另一方面,我有一个 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!')

对同一事件使用ifelif not 2 个不同的函数。

此外,您可能需要commands.Bot以获得功能齐全的命令机器人。

@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)
    elif message.content.lower().startswith("hello conny"):
        await message.channel.send("Hello!")
    await client.process_commands(message)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM