import discord
from discord.ext import commands
from datetime import time
client = discord.Client()
bot = commands.Bot(command_prefix='!')
@bot.command()
@client.event
async def on_ready():
print("bot word")
@bot.command()
async def test1(ctx):
embed = discord.Embed(
title="Привет всем!",
)
await ctx.send(embed=embed)
# emb = discord.Embed(title = ":OtherGames: CERBERUS \n Выбери игру, в которую ты играешь", colour = discord.Color.orange())
# emb.add_field(value="роли нужны для поиска напарников \n")
# await ctx.send( embed=emb )
@client.event
async def on_raw_reaction_add(payload):
if payload.message_id == 868631163755974706:
guild = discord.utils.find(lambda g: g.id == payload.guild_id, client.guilds)
roles = {
'AYAYA': lambda: discord.utils.get(guild.roles, name='блять'),
'roflanEbalo': lambda: discord.utils.get(guild.roles, name='тест1'),
'default': lambda: discord.utils.get(guild.roles, name = payload.emoji.name)
}
role = roles.get(payload.emoji.name)()
if role is None:
return None
member = payload.member
if not member.bot:
await member.add_roles(role)
@client.event
async def on_raw_reaction_remove(payload):
if payload.message_id == 868631163755974706:
guild = discord.utils.find(lambda g: g.id == payload.guild_id, client.guilds)
roles = {
'AYAYA': lambda: discord.utils.get(guild.roles, name='блять'),
'roflanEbalo': lambda: discord.utils.get(guild.roles, name='тест1'),
'default': lambda: discord.utils.get(guild.roles, name = payload.emoji.name)
}
role = roles.get(payload.emoji.name)()
if role is None:
return None
member = await guild.fetch_member(payload.user_id)
if not member.bot:
await member.remove_roles(role)
with open('Token.txt','r') as config_file:
token = config_file.readline()
client.run(token)
就在这里。一切正常。
这是您的代码:
好吧,我在几个机器人的例子上研究了这个问题,注意到这里使用了 async 和 await,虽然没有导入asyncio模块,而且你甚至在中间变得奇怪。带走
此外,由于某种原因,日期时间被导入到这件作品中。
代码最终应如下所示:
如果错误discord.ext.commands.errors.MissingRequiredArgument: ctx is a required argument that is missing 出现在最后。, 然后在 bot.command( pass_context=True )方法内的第二行写入@bot.command()
问题是调用的是客户端,而不是机器人,因此您只需将其更改
client.run()为bot.run().