我正在关注youtube上的python discord bot的基础教程,并且我的代码在下面。表示已传递了不正确的令牌。在有人问之前,是的,我已经输入了机器人令牌,而不是ID或机密
import discord
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio
import time
Client = discord.Client()
client = commands.Bot(command_prefix = "!")
@client.event
async def on_ready():
print("Bot is ready!")
@client.event
async def on_message(message):
if message.content == "cookie":
await client.send_message(message.channel, ":cookie:")
client.run("token is here")
答案 0 :(得分:6)
对我来说,我的bot.py文件如下:
import os
import discord
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
client = discord.Client()
@client.event
async def on_ready():
print(f'{client.user} has connected to Discord!')
client.run(TOKEN)
并且由于我使用了env(environment)模块,所以我在文件夹的同一路径中创建了一个空名称和扩展名为.env的新文件,而env文件仅包含以下代码行:
DISCORD_TOKEN=DFHKJAhka7fdsKHJASDFk1jhaf5afd.HASDFafd23FHdfa_adfahHJKADF32W
所以对我来说,问题是我在令牌代码周围使用了括号,并在删除代码后成功了!
我的代码放在方括号中
DISCORD_TOKEN={DFHKJAhka7fdsKHJASDFk1jhaf5afd.HASDFafd23FHdfa_adfahHJKADF32W}
希望它对您有用!
和平
答案 1 :(得分:6)
请确保您从Discord开发站点的“ Bot”页面中获取“令牌”,而不是从“ General Information”页面中获取“ Secret”。
我遇到了同样的问题。通过使用Discord应用程序页面中的正确令牌解决了我的问题。我使用的是“常规信息”页面中的“机密”(这对我来说是原始帖子中的错误),而不是“ Bot”页面中的“令牌”。
编辑:正如sheneb在对此的评论中所说,此答案(可能)不会对OP有所帮助(因为问题现在显示为“在有人问之前,是的,我已经输入了机器人令牌,而不是ID或机密”) )。但是,我在搜索答案时发现了这个问题/页面,并且此信息解决了我的问题。很高兴它对您有所帮助,gouravkr,希望对其他访问者有所帮助。
答案 2 :(得分:0)
我也发生了同样的事情,但是当我进入开发者页面并刷新令牌时,它开始工作。然后,我只需将新令牌放入代码中就可以了!
也许同样适用于您...?
答案 3 :(得分:0)
您应该可以通过以下操作使其正常工作:
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio
import time
Client = discord.Client()
client = commands.Bot(command_prefix = "!")
@client.event
async def on_ready():
print("Bot is ready!")
@client.event
async def on_message(message):
if message.content == "cookie":
await message.client.send(":cookie:")
client.run("token is here",bot=True)
有时,我也会这样做,但请查看开发人员页面上的“机器人”标签,以确保已完全创建了机器人。 希望能有所帮助。 我还修复了您的消息发送行,该消息已过时;)。
答案 4 :(得分:0)
尝试一下:
from discord.ext.commands import Bot
from discord.ext import commands
import asyncio
import time
Client = discord.Client()
client = commands.Bot(command_prefix = "!")
@client.event
async def on_ready():
print("Bot is ready!")
@client.event
async def on_message(message):
if message.content == "cookie":
await message.client.send(":cookie:")
client.run("TOKEN HERE PUT YOUR TOKEN HERE ;)")
如果这是错误的,请通过不和谐与我联系。 DrNano#9195
。