【问题标题】:Discord.py | A simple command to give a specific user a specific role?不和谐.py |给特定用户特定角色的简单命令?
【发布时间】: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


【解决方案1】:

试试这个函数!

#import discord
async def roleGive(member: discord.Member, role: discord.Role):
    await member.add_roles(role)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-20
    • 2018-11-03
    • 2021-06-11
    • 2019-06-11
    • 1970-01-01
    • 2021-03-05
    • 2020-02-11
    • 1970-01-01
    相关资源
    最近更新 更多