令牌传递不当

时间:2018-07-30 21:36:22

标签: python token discord discord.py

我正在关注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")

5 个答案:

答案 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