如何为Discord机器人实施仅Patreon命令?

时间:2020-07-26 18:14:42

标签: discord.py discord.py-rewrite

所以我看过另一篇文章,题目几乎完全相同,但是我的却不同。

我完全知道有一个Patreon机器人,但是据我所知,它仅在服务器上有效。

因此,可以说有人邀请了我的机器人,并尝试了一个要求他们成为主顾的命令。我的python机器人如何检查自己是否成为我产品的赞助人?然后相应地为他们设置角色。然后我可以进行检查,以允许他们访问或不访问命令。

因此,从本质上讲,它应该像Patreon机器人那样做,但是可以独立工作。例如Dank Memer机器人:可以被邀请到任何服务器,如果成为赞助人,则可以使用特定的命令,否则就不能

我已经在这个主题上浏览了一段时间,却找不到任何有关如何检查用户是否成为主顾的信息。

非常感谢!

3 个答案:

答案 0 :(得分:0)

有一个出路,但可能不是正确的出路,因此,如果您知道您的顾客是谁并且也知道他们的不和谐ID,则可以在类似于以下命令的命令中声明if语句-

@client.command()
async def your_command_name():
    if member.id == #Your 1st Patreon's Discord ID:
        #Your Code 
    elif member.id == #Your 2nd Patreon's Discord ID:
        #Your code
    else:
        await ctx.send("You cannot use that command as you are not a patreon!")

但是,如果您有很多顾客,或者您不知道他们的Discord ID,那么这又可能不是正确的方法,但是无论如何,这是我唯一能想到的方法。 希望对您有所帮助。 :)

答案 1 :(得分:0)

如果您知道神父。只是给他们一个角色[patreons]或任何名字! 给他们角色后复制角色ID并将其粘贴到patreons_role_id

好的,此命令的作用是,仅检查成员角色中的[patreons]角色!如果存在[patreons]角色!它将执行#your code,否则会发送自定义消息!

@client.event()
async def on_message(message):
    if message.content == '!test':
        is_patreon = False
        for user_roles in message.author.roles:
            if user_roles.id == patreons_role_id:
                is_patreon = True
                break
        if is_patreon == True:#your code
        else: await message.channel.send('THIS COMMAND IS ONLY AVAILABLE FOR PATREON!')

答案 2 :(得分:0)

让我们假设您为顾客服务。

minikube addons enable ingress