2
votes

Comment implémenter des commandes Patreon uniquement pour un bot Discord?

J'ai donc vu un autre article avec presque exactement la même question, mais le mien est différent.

Je suis pleinement conscient qu'il existe un bot Patreon, mais à ma connaissance, cela n'est valable que sur les serveurs.

Disons donc que quelqu'un invite mon bot et essaie une commande qui les oblige à être un client. Comment mon bot écrit en python pourrait-il vérifier s'il est devenu un client de mon produit? Et puis définissez un rôle pour eux en conséquence. Ce que je peux ensuite faire la vérification pour leur permettre d'accéder à la commande ou non.

Donc, essentiellement, il devrait faire ce que fait le bot Patreon, mais fonctionnerait tout seul. Des exemples sont tels que le bot Dank Memer: qui peut être invité sur n'importe quel serveur et si l'on devient un client peut utiliser des commandes spécifiques, sinon vous ne pouvez pas

J'ai regardé autour de ce sujet pendant un moment maintenant et je n'ai pas été en mesure de trouver des informations sur la façon de vérifier si l'utilisateur est devenu un client ou non.

Merci d'avance!


0 commentaires

3 Réponses :


0
votes

Il y a un moyen de sortir, mais ce n'est probablement pas le bon, donc, si vous savez qui sont vos patreons et que vous connaissez également leurs identifiants de discorde, vous pouvez déclarer une instruction if dans la commande similaire à celle-ci -

@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!")

Mais encore une fois, ce n'est probablement pas la bonne façon si vous avez beaucoup de patrons ou si vous ne connaissez pas leurs identifiants Discord, mais de toute façon, c'était la seule façon que je pouvais trouver. J'espère que cela a aidé. :)


2 commentaires

Merci pour ça! J'essaierai d'utiliser l'API Patreons pour voir si je peux obtenir une liste de tous les membres de Discord, et faire une vérification à ce sujet. Je te ferai savoir comment cela se passe. Merci encore!


Content de l'entendre! Faites-moi savoir si cela fonctionne;)



0
votes

Si vous connaissez les patreons. donnez-leur simplement un rôle [patreons] ou n'importe quel nom! après leur avoir donné le rôle. copiez l'id du rôle et collez-le dans patreons_role_id

ok, ce que fait cette commande, c'est juste qu'elle vérifie le rôle [patreons] dans les rôles membres! si le rôle [patreons] est présent! il exécutera le #your code sinon il enverra un message personnalisé!

@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!')


0 commentaires

0
votes

Supposons que vous ayez un rôle pour vos patreons.

@client.command()
@commands.has_roles("PatreonRole")
async def commandname(ctx, args):
    #do stuff


0 commentaires