【发布时间】:2020-10-01 01:31:04
【问题描述】:
TIA 为您的帮助和道歉,我是新手,所以这可能是一个愚蠢的问题。我已经搜索过了,但找不到任何关于如何使不和谐机器人(在 Python 中)仅在特定频道中删除消息的具体内容。我希望删除发送到特定频道的所有消息,通过 PM 发送给用户的内容以及更改用户的角色。
有没有办法使用 on_message 并在特定频道中指定?
@client.event
async def on_message(message):
user = message.author
if message.content.startswith("Cluebot:"):
await message.delete()
await user.send("Yes?")
await user.remove_roles(get(user.guild.roles, "Investigator"))
我遇到的问题是我也在使用现在不再起作用的命令,因为机器人只在消息以“Cluebot:”开头时才会响应我可以让机器人只在特定的渠道?
是否可以通过命令而不是事件来完成这项工作?
感谢您的帮助。 :)
【问题讨论】:
-
抱歉!我找到了一种解决方法:@client.command() async def reveal(ctx, *, answer): user=ctx.message.author if answer == solution: await ctx.message.delete() await user.send( "你是赢家!") await user.remove_roles(get(user.guild.roles, "Investigator")) else: await user.remove_roles(get(user.guild.roles, "Investigator")) await ctx. message.delete() await user.send("对不起," + answer + "不是正确答案。")
标签: python bots discord.py-rewrite