【发布时间】:2021-06-05 21:06:24
【问题描述】:
好的,所以我正在用 Python 设计一个 Discord 机器人,不过还是很新的。我试图让它加入语音频道,所以我做了一些研究并想出了以下内容,我剪掉了机器人的不相关部分,所以这只是语音连接的部分。它说:应该设置前缀的行上的未定义名称“命令”:
import discord
import os
import requests
import json
import random
client = discord.Client()
client = commands.Bot(command_prefix='!')
@client.event
async def on_ready():
print("Eingeloggt als {0.user}".format(client))
@bot.command()
async def join(ctx):
channel = ctx.author.voice.channel
await channel.connect()
@bot.command()
async def leave(ctx):
await ctx.voice_client.disconnect()
client.run(os.getenv("TOKEN"))
【问题讨论】:
-
你有
client = commands.Bot(command_prefix='!'),然后你写@bot.command()。尝试使用@client.command()代替,因为这是您的命令变量或将客户端变量更改为 bot -
@PhoenixDoom 是的,我也意识到,我改变了它,没有留下任何错误,但它仍然无法工作。
-
机器人是否有发送消息的权限?
-
@PhoenixDoom 是的,我没有在代码 sn-p 中显示的其他功能按预期工作。
-
您有
on_message活动吗?有时命令会因此而停止工作。
标签: python python-3.x discord discord.py