我的基于 python 的不和谐机器人没有响应输入的任何命令,并且初始方法没有打印任何内容
Posted
技术标签:
【中文标题】我的基于 python 的不和谐机器人没有响应输入的任何命令,并且初始方法没有打印任何内容【英文标题】:My python based discord bot is not responding to any commands entered, and the initial method is not printing anything 【发布时间】:2021-07-07 22:00:24 【问题描述】:当我启动我的不和谐机器人时,on_ready
方法不起作用。该机器人上线,但该方法中的任何代码都不会在命令行中打印。此外,info 命令无法正常工作。这是以前与我编写的另一个机器人一起工作的所有代码,所以我不确定什么是失败的。代码如下。
from discord.ext import commands
import discord
client = discord.Client()
TOKEN = "insert token here"
description = "Bot that does things"
bot = commands.Bot(command_prefix="$", description="testbot")
@bot.event
async def on_ready():
print("Logged in as")
print(bot.user.name)
print(bot.user.id)
print("-----------------")
print("Developed by")
print("me")
@bot.command()
async def info(ctx):
embed = discord.Embed(
title="Commands", description="Here are the commands:", color=0xFFFF00
)
embed.add_field(name="meme", value="gives you a meme", inline=True)
print("Cmd entered")
client.run(TOKEN)
【问题讨论】:
【参考方案1】:这可能是因为您同时定义了client
(discord.Client
实例)和bot
(discord.ext.commands.Bot
实例)。如果您删除 client
并将 client.run()
更改为 bot.run()
,机器人应该可以工作。
from discord.ext import commands
import discord
TOKEN = "insert token here"
description = "Bot that does things"
bot = commands.Bot(command_prefix="$", description="testbot")
@bot.event
async def on_ready():
...
@bot.command()
async def info(ctx):
...
bot.run(TOKEN)
【讨论】:
是的,命令至少需要缺少的消息意图。 @ChrisDewa 我认为消息意图默认设置为True
,除非我弄错了
是的,默认情况下所有功能都已启用但具有特权。感谢您的信息以上是关于我的基于 python 的不和谐机器人没有响应输入的任何命令,并且初始方法没有打印任何内容的主要内容,如果未能解决你的问题,请参考以下文章
如何阻止不和谐机器人响应自身/所有其他机器人 [Python 3.6 中的不和谐机器人]
我正在尝试编写一个显示我的我的世界服务器状态的不和谐机器人,但机器人没有响应命令,即使出现错误