簡體   English   中英

@client.event 未觸發 (discord.py)

[英]@client.event not triggered (discord.py)

from keepawake import keepawake
import os
import requests
import discord
from discord import Webhook, RequestsWebhookAdapter, File
import time
from discord.ext import commands

webhook = Webhook.partial(863030277597036574,os.environ['WTOKEN'],\
 adapter=RequestsWebhookAdapter())
 

client = commands.Bot(command_prefix="!")





votecount = 0
vote = None

@client.command()

async def votekick(ctx, member : discord.Member, *, reason="inconnue"):
 emojis = ['✅', '❌']
 adminBug = client.get_channel(863158034292801577)
 message = await ctx.send("voulez vous kick "+str(member)[:-5]+"?" f"                        raison du vote: {reason}")
 
 for emoji in emojis:
     await message.add_reaction(emoji)
 
 
 @client.event   
 async def on_reaction_add(reaction, user):
    emoji = reaction.emoji
    if user.bot:
        return
    if emoji == "🔒":
        fixed_channel = client.get_channel(863158034292801577)
        await fixed_channel.send("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
    elif emoji == "✅":
        vote = True
    elif emoji == "❌":
        vote = False
    else:
     return

@client.event  
async def kick(ctx):
   print(vote)
   if vote == True :  
     if reason == None: 
       reason = "raison inconnue"
     message = f"Tu a été banni(e) de {ctx.guild.name} pour {reason}"
     await member.send(message)
     await member.kick(reason=reason)
     await ctx.send(f"{member} a été éjecté du serveur!")
   else:
     await ctx.send(f"{member} ne sera pas kick.") 

我正在嘗試制作一個不和諧的機器人來通過投票來禁止或踢人,但代碼的第二部分沒有做任何事情(比如打印“投票”),但第一部分正在工作。 我對discord.py了解不多,所以我不知道如何在第一部分(on_reaction_add)完成運行后讓第二部分自行執行。

裝飾器@client.event 用於諸如 on_startup 之類的事情,它在每次啟動機器人時觸發該函數,或者在每次向機器人所在的任何公會發送消息時觸發該函數的 on_message。

你想要的是更換線

@client.event@client.command() - 就像 MrSpaar 說的

這意味着每次有人發送消息時都會觸發該功能!kick @{member}

在確定如何執行最后一部分( await kick(ctx) )后,我最終解決了這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM