input - 如何将来自 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)
解决方案
好吧,这不是永久修复,当我记得它时,我会编辑它以获得更好的解决方案,我以前做过类似的事情。
但现在你可以只使用命令
下面是它们的样子:
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
推荐阅读
- python - pygal 在 x 轴上绘制日期
- pandas - 'record_path' 处的字典在 json_normalize 中没有变平
- php - 从 index.php 访问另一个文件
- jmeter - Jmeter - 如何在 POST 数据中排列值
- web-applications - 现代网络应用架构
- visual-studio-code - VSCode 可以启动一个会随着光标移动而自动扩展的选择吗?
- javascript - React:如何从 vis.js 边缘的点击事件访问组件功能?
- database - postgresql dotnet 核心连接字符串
- python - Pandas:按两列组合分组
- haskell - Codewars(Haskell 随机测试 QuickCheck)