因此,我正在为服务器创建自己的机器人,一段时间后,我终于找到了一个适用于autorole和角色分配的字符串。 然后,我继续为该机器人添加另一个字符串,只需回答“ Hello”即可。我一经补充,角色命令将不再起作用。一旦取出,它将再次起作用。 另一方面,我有一个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!')
答案 0 :(得分:0)
对于同一事件,请不要使用if
和elif
两个不同的功能。
另外,您可能需要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)