首页 > 解决方案 > 如何将来自 discord 的消息输入到 discord.py 的命令提示符中?

问题描述

我试图让机器人使用命令用户的不和谐消息作为输入,但我似乎无法弄清楚。我仍然坚持使用命令提示符版本,(请注意,我是这方面的初学者。)

Rawdamage=int(input("input damage dealt here. "))
Defense=int(input("input defense of victim here. "))
HP=int(input("input HP of victim."))
Pierce=int(input("input pierce amount here. "))
n = random.randint(1,4)
print(n)
var6= n
var1= Rawdamage
var2= Defense
var3= HP
var4= Pierce
v= 4
V= 3
if (var6==1):
    (var1 - var2 + var4)
    var5= (var1 * v // V)
    print ("damage dealt:")
    print(var5)
    print("hp left:")
    print(var3 - var5)
else:
    var5= (var1 - var2 + var4)
    print("damage dealt:")
    print(var5)
    print("hp left:")
    print(var3 - var5)

标签: inputbotsdiscord.py

解决方案


好吧,这不是永久修复,当我记得它时,我会编辑它以获得更好的解决方案,我以前做过类似的事情。

但现在你可以只使用命令

下面是它们的样子:

from discord.ext import commands

client = commands.Bot(command_prefix="Your chosen command prefix")
token = 'Your token'


@client.command()
async def Rawdamage(ctx, *, rawdamage=None):
    var1 = rawdamage

@client.command()
async def Defense(ctx, *, defense=None):
    var2 = defense

@client.command()
async def HP(ctx, *, hp=None):
    var3 = hp

@client.command()
async def Pierce(ctx, *, pierce=None):
    var4 = pierce

@client.command()
async def N(ctx, *, n=None):
    var5 = n
    
    
# Your damage system here #



client.run(token)

这样做的目的是,每次以您的命令前缀开头发送一条消息,并且在这些命令之一的前缀之后,它下面的代码就会运行。

你看还有几个参数。(ctx, *, rawdamage=None) ctx 表示 ctx。* 表示后面的任何内容都将存储在 rawdamage 变量中。

因此,如果我在不和谐中执行 /Rawdamage 10,您的机器人会将 10 放入 var1


推荐阅读