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)运行完成后让第二部分自行执行。
答案 0 :(得分:0)
装饰器@client.event 用于诸如 on_startup 之类的事情,它在每次启动机器人时触发该函数,或者在每次向机器人所在的任何公会发送消息时触发该函数的 on_message。
你要的是换行
<块引用>@client.event
和 @client.command()
- 就像 MrSpaar 说的
这意味着每次有人发送消息!kick @{member}
答案 1 :(得分:0)
在确定如何执行最后一部分( await kick(ctx) )后,我终于解决了这个问题