我的 python discord bot 奇怪地发送消息
Posted
技术标签:
【中文标题】我的 python discord bot 奇怪地发送消息【英文标题】:My python discord bot is sending messages oddly 【发布时间】:2021-05-03 22:12:16 【问题描述】:好的,所以我的目标的基本要点是,我正在尝试创建一个可管理的列表,以帮助在不和谐服务器中组织主题名称。我的代码应该让我查看列表编辑列表并再次显示。当我的机器人尝试发送更新的列表时,问题就出现了。这是我的代码和我的问题。
import discord
from discord.ext import commands
client = commands.Bot(command_prefix = '/')
FreeExtras = []
@client.command()
async def Free0(ctx):
await ctx.send(FreeExtras)
@client.command()
async def addextra(ctx):
name = await client.wait_for('message',check=lambda m: m.author == ctx.author and m.channel == ctx.channel)
FreeExtras.append(name)
当我在编辑后尝试显示列表时,我的机器人会发送:
[
author= flags=>]
【问题讨论】:
要使Free0
工作,我认为您必须将列表转换为字符串,在send()
函数中使用str(FreeExtras)
而不是FreeExtras
。看起来正在发送的消息是 discord.Message
对象而不是内容,但是看起来您还没有发布该命令的功能。您必须使用 Message.content
从对象中获取内容。
【参考方案1】:
wait_for('message')
返回一个Message
对象,您需要通过.content
附加它的content
import discord
from discord.ext import commands
client = commands.Bot(command_prefix = '/')
FreeExtras = []
@client.command()
async def Free0(ctx):
await ctx.send(FreeExtras)
@client.command()
async def addextra(ctx):
global FreeExtras
name = await client.wait_for('message',check=lambda m: m.author == ctx.author and m.channel == ctx.channel)
FreeExtras.append(name.content)
【讨论】:
以上是关于我的 python discord bot 奇怪地发送消息的主要内容,如果未能解决你的问题,请参考以下文章
Python 3.6 Discord bot Bot 事件冲突