为了账号安全,请及时绑定邮箱和手机立即绑定

Discord.py 如何从不和谐的消息中读取一个 int 并将其作为变量发送到嵌入

Discord.py 如何从不和谐的消息中读取一个 int 并将其作为变量发送到嵌入

神不在的星期二 2023-06-20 15:56:19
所以我正在制作一个等待用户输入的机器人,然后更改嵌入描述中的数字。我当前的代码在 discord 中给出了错误:错误:命令引发异常:类型错误:只能将 str(不是“int”)连接到 strimport discordfrom discord.ext import commands, tasksimport osimport Bimport wargamingwot = wargaming.WoT('demo', region='na', language='en')key=os.getenv('key')#just some things you might want inside the bot here.wkey=os.getenv('wkey')client = discord.Client()#declaring what the client is.client = commands.Bot(command_prefix = ';;')client.remove_command('help')@client.eventasync def on_ready():    await client.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="Skirmish Tactics"))    print("Bot is ready!")def check(ctx):  return lambda m: m.author == ctx.author and m.channel == ctx.channelasync def get_input_of_type(func, ctx):  while True:       try:          msg = await client.wait_for('message', check=check(ctx))          return func(msg.content)       except ValueError:          continue@client.command()async def skirmishstandings(ctx):    await ctx.send('Enter skirmish tier(6,8,10):')    tier = await get_input_of_type(int, ctx)     position = discord.Embed(title="Irish Rouge Ecelon's stronghold position", description="IRE's stronghold positon for tier" + int(tier) + "skirmishes")        await ctx.send(embed=position)@client.eventasync def on_command_error(ctx, error):  await ctx.send(f'Error: {error}')我查看了堆栈溢出并更改了我的代码很多但不幸的是没有成功。我想我会问我自己的问题。任何帮助表示赞赏!谢谢!
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

试试这个。

description=f"IRE's stronghold positon for tier {tier} skirmishes"

您正在尝试连接两个不同类型的对象。因此错误。因此int(tier),您不应该这样做,而应该这样做str(tier)以获得所需的输出。


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信