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

Posted

技术标签:

【中文标题】Discord.py 如何从不和谐消息中读取 int 并将其作为变量发送到嵌入中【英文标题】:Discord.py how to read a int from a discord message and send it as a variable in the embed 【发布时间】:2020-12-13 17:38:13 【问题描述】:

所以我正在制作一个机器人,它等待用户的 int 输入,然后更改嵌入描述中的数字。我当前的代码给了我不和谐的错误:错误:命令引发异常:TypeError:只能将str(不是“int”)连接到str

import discord
from discord.ext import commands, tasks
import os
import B
import wargaming

wot = 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.event
async 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.channel

async 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.event
async def on_command_error(ctx, error):
  await ctx.send(f'Error: error')

我查看了堆栈溢出并更改了很多代码,但不幸的是没有成功。我想我会问我自己的问题。任何帮助表示赞赏!谢谢!

【问题讨论】:

这能回答你的问题吗? How can I concatenate str and int objects? 【参考方案1】:

试试这个。

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

您正在尝试连接两个不同类型的对象。因此错误。因此,不要使用int(tier),而应使用str(tier) 来获得所需的输出。

【讨论】:

好吧,我以为我已经尝试过了,但我想我在定义 get_input_of_type 命令后没有尝试过。不过还是谢谢 效果很好

以上是关于Discord.py 如何从不和谐消息中读取 int 并将其作为变量发送到嵌入中的主要内容,如果未能解决你的问题,请参考以下文章

discord.py 你能从 discord 标签中获取用户对象吗?

如何让不和谐机器人使用 discord.py 向消息添加表情符号反应?

使用 Discord.py,有没有办法读取嵌入的消息?

不和谐.py |发布消息

如何让我的机器人忽略来自具有特定角色的人的消息? (不和谐.py)

如何使用 discord.py 使用我的不和谐机器人编辑嵌入颜色