【发布时间】:2021-02-25 03:16:20
【问题描述】:
我正在开发一个可以为用户分配角色的机器人,但我不太精通 discord.py 语法。
我尝试过像这样调整代码:
if message.content.startswith('!!role'):
member = message.author
var = discord.utils.get(message.guild.roles, name = "Role A")
member.add_role(var)
但是这段代码不符合我的目的,我试图得到一个更像这样的函数:roleGive(member,role) 这样我就可以有一个不和谐的命令,比如!role @JohnSmith#0001 moderator,它会给用户 JohnSmith “主持人”角色。此外,这个函数将在机器人的其他地方使用,所以我试图让这个函数可重用,所以我可以做类似的事情(这或多或少是伪代码,我还在学习):
user = "JohnSmith#0001"
if 20 > user.messagecount() >= 10:
roleGive(user,"10 Messages Gang")
if 30 > user.messagecount() >= 20:
roleGive(user,"20 Messages Gang")
我还想强调一下,我在这个网站上查看了很多类似的问题,或者代码已经过时并且不再有效,或者它不符合我的目的。感谢您的帮助!
【问题讨论】:
-
这个函数会在什么上下文中被调用?完整的
discord.ext.commands.context可用吗?一个消息?公会? -
@LukasThaler 它将在服务器中调用,整个目标是拥有一个机器人,根据用户在服务器中的参与度赋予用户角色,例如发送的消息,加入的时间等。但我不能把我的整个目标作为一个问题放弃,因为没有人会回答,所以我正在一点一点地做它并解决它
标签: python discord discord.py