Discord.py 使用 Heroku 时机器人命令不响应
Discord.py bot commands don't respond when using Heroku
我有一个预制代码 Discord.py 并使用 Heroku 托管,它目前在线,除了每当我使用命令时,它 returns 什么都没有,但是当 运行 它在本地使用 Notepad++
命令工作正常。
main.py
import discord
from discord.ext import commands
token = 'OBVIOUSLY THE TOKEN IS HERE'
prefix = "?"
intents = discord.Intents.default() # or .all() if you ticked all, that is easier
intents.members = True # If you ticked the SERVER MEMBERS INTENT
bot = commands.Bot(command_prefix=prefix, intents=intents) # "Import" the intents
@bot.event
async def on_ready():
print('Internal has connected to Discord!')
await bot.change_presence(activity=discord.Game(name="Discord"))
@bot.command()
async def ping(ctx):
await ctx.send(f'Pong! In {round(bot.latency * 1000)}ms')
@bot.command()
async def about(ctx):
embed = discord.Embed(title='About me!', description=f'Im an Utility bot, that is coded under discord.py\n\n> Statistics\nLatency: `{round(bot.latency * 1000)}`ms', color=0xEE8700)
await ctx.send(embed=embed)
@bot.command()
async def say(ctx, *, content:str):
await ctx.send(content)
bot.run(token)
版本:
python= 3.8.8
discord.py= 1.7.3
(添加这个作为答案,因为我认为其他人也会有这个问题)
在discord.py 1.7.3 版中,查看消息内容所需的消息意图默认设置为启用。但是在2.x中需要单独设置。
您可以通过以下方式解决问题:
- 强制 discord.py 版本在
requirements.txt
中返回到 1.7.3;或
- 通过
intents.message_content = True
. 显式启用意图
我有一个预制代码 Discord.py 并使用 Heroku 托管,它目前在线,除了每当我使用命令时,它 returns 什么都没有,但是当 运行 它在本地使用 Notepad++
命令工作正常。
main.py
import discord
from discord.ext import commands
token = 'OBVIOUSLY THE TOKEN IS HERE'
prefix = "?"
intents = discord.Intents.default() # or .all() if you ticked all, that is easier
intents.members = True # If you ticked the SERVER MEMBERS INTENT
bot = commands.Bot(command_prefix=prefix, intents=intents) # "Import" the intents
@bot.event
async def on_ready():
print('Internal has connected to Discord!')
await bot.change_presence(activity=discord.Game(name="Discord"))
@bot.command()
async def ping(ctx):
await ctx.send(f'Pong! In {round(bot.latency * 1000)}ms')
@bot.command()
async def about(ctx):
embed = discord.Embed(title='About me!', description=f'Im an Utility bot, that is coded under discord.py\n\n> Statistics\nLatency: `{round(bot.latency * 1000)}`ms', color=0xEE8700)
await ctx.send(embed=embed)
@bot.command()
async def say(ctx, *, content:str):
await ctx.send(content)
bot.run(token)
版本:
python= 3.8.8
discord.py= 1.7.3
(添加这个作为答案,因为我认为其他人也会有这个问题)
在discord.py 1.7.3 版中,查看消息内容所需的消息意图默认设置为启用。但是在2.x中需要单独设置。
您可以通过以下方式解决问题:
- 强制 discord.py 版本在
requirements.txt
中返回到 1.7.3;或 - 通过
intents.message_content = True
. 显式启用意图