python-3.x - My Bot 将角色授予消息中提到的用户
问题描述
好的,所以当我的服务器中的另一个机器人发送一条包含用户提及的消息时,我的机器人应该给那个提到的用户一个角色。我不知道该怎么做,但我尝试用事件做某事并给出错误。请帮助(我是python的菜鸟)
我的代码
@client.event
async def on_message(msg):
Role = discord.utils.get(msg.guild.roles, name='level 2')
if msg.content.find("advanced to level 2")!=-1:
await msg.user.mention.add_roles(Role)
解决方案
用于msg.mentions[0]
获取提到的用户并检查作者是否是机器人
以下是修改后的代码:
@client.event
async def on_message(msg):
Role = discord.utils.get(msg.guild.roles, name='level 2')
if msg.content.find("advanced to level 2")!=-1 and msg.author.bot:
await msg.mentions[0].add_roles(Role)
推荐阅读
- r - 在 R 中生成输出文本文件
- java - 具有大量空条目的大型数组
- python - grep stdin 和 bc stdin 之间有什么不同吗?
- javascript - 将 FileReader.readAsText() 结果字符串转换回文件对象以供下载?
- java - 使用多个并发 KieSession 时出现 NullPointerExceptions
- .net - 实时单元测试卡住并且无法停止
- r - 在 R 中总结有困难
- python - Pandas groupby week 给定一个日期时间列
- python - 将 PANDAS DF 绘制为宽度变化的 3D 线图
- jquery - 我想每 5 秒更改一次 div 的背景图像