Discord 不和谐损害计算机器人
目前,我正在为口袋妖怪开发一个discord机器人,我将运行,我的遭遇系统已经关闭,但破坏系统一直存在问题。目前,整个代码就是这样的Discord 不和谐损害计算机器人,discord,discord.py,Discord,Discord.py,目前,我正在为口袋妖怪开发一个discord机器人,我将运行,我的遭遇系统已经关闭,但破坏系统一直存在问题。目前,整个代码就是这样的 import discord import os import random import asyncio client = discord.Client() from discord.ext import commands client = commands.Bot(command_prefix='!') @client.event async def on
import discord
import os
import random
import asyncio
client = discord.Client()
from discord.ext import commands
client = commands.Bot(command_prefix='!')
@client.event
async def on_ready():
print('aaaaand were scuffed'.format(client))
###Biome encounter list###
DesertList2 = ['charmander', 'charmeleon', 'charizard']
###commands###
#desert enc
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!desert'):
mon = random.choice(DesertList2)
print(mon)
await message.channel.send(mon)
@client.event
async def damage(ctx, num1, num2, num3):
result = (num1+num2)/num3
await ctx.send(result)
await client.process_commands(message)
注意:我有client.run,只是因为明显的原因没有显示。您必须创建单独的参数变量
@client.command()
异步def损坏(ctx,num1:int,num2:int,num3:int):#对于您的12 4示例,3个数字参数就足够了
结果=(num1+num2)/num3
等待ctx发送(结果)
这个值是(1+2)/4,应该是0.75
此外,在查看您的imgur图像后,这是您的on_message
函数需要的外观:
@client.event
异步def on_消息(消息):
如果message.author==client.user:
返回
如果message.content.startswith(“!desert”):
mon=随机。选择(沙漠列表2)
印刷(星期一)
等待消息。频道。发送(周一)
等待客户端处理命令(消息)
这是一个简洁有效的计算器命令,你可以给它无限的参数让它计算
通过使用*
,您可以传递多个数字,.join
将连接您传递的每个参数。这里有一个简单的例子
@client.command()
async def calculate(ctx, operation, *nums):
if operation not in ['+', '-', '*', '/']:
await ctx.send('Please use a valid operation type')
return
var = f' {operation} '.join(nums)
await ctx.send(f'{var} = {eval(var)}')
@2P1XLS我冒昧地将您的
沙漠
命令设置为实际命令,因为它以前出现在on_message
事件中,在我看来,您正试图将其用作命令。但是,您仍然可以像以前那样运行它:!沙漠
。我还在on\u message
事件中添加了wait client.process\u命令(message)
,因为它就属于这个事件。试试这个:
导入不一致
导入操作系统
随机输入
导入异步
client=discord.client()
从discord.ext导入命令
client=commands.Bot(命令前缀='!')
@客户端事件
_ready()上的异步定义:
打印('aaaaa'和磨损。格式(客户端))
@客户端事件
异步def on_消息(消息):
如果message.author==client.user:
返回
等待客户端处理命令(消息)
###生物群落遭遇列表###
沙漠名单2=['charmander'、'charmeleon'、'charizard']
###命令###
#沙漠司令部
@client.command()
异步def(ctx):
mon=随机。选择(沙漠列表2)
印刷(星期一)
等待ctx发送(周一)
#破坏命令
@client.command()
异步def损坏(ctx,num1:int,num2:int,num3:int):
结果=(num1+num2)/num3
等待ctx发送(结果)
如果您运行
!损坏1 2 4
,然后它将执行(1+2)/4
,并返回0.75
。我自己也试过这段代码,所以它肯定能用。一定要准确地复制它。希望这对你有帮助 我很确定OP想要一个解决方案,他不需要指定一个操作类型是的,但是很好,无论如何谢谢你的帮助!我以后可能会用这个,谁知道呢!这应该是完美的!非常感谢,我推迟了很多事情,因为我没有这个问题。如果我的帖子帮了你的忙,记得点击我帖子旁边的投票按钮下面的“接受答案”按钮!嘿,再见。我只是想知道这个命令是否已经设置好了,我需要做些什么才能让它完成计算?或者如何设置命令,我有一个前缀和所有,只是不知道为什么它不发送任何消息。嘿,@2P1XLS。假设您的前缀是代码>。要运行该命令,您必须执行!损坏1 2 4
,这将打印出消息。让我知道它是否有效。Yo,由于某些原因,它不起作用,我认为这与@client.event
有关,rn我的代码是@client.event async def on_message(message):if message.author==client.user:return if message.content.startswith('!沙漠'):mon=random.choice(沙漠列表2)打印(mon)wait message.channel.send(mon)@client.event async def damage(ctx,num1,num2,num3):#对于您的12 4示例,3个数字参数就足够了结果=(num1+num2)/num3 wait ctx.send(result)
edit:对于这种奇怪的格式,我们不是一个编码服务。请解释问题是什么,您尝试了什么,以及您面临的任何错误消息。它成功了!万岁!我终于可以休息了。。。请放心,我还有很多工作要做。。。但是非常感谢你,祝你明天情人节快乐@2p1xl我们走吧!我很高兴它对你有用。明天也祝你情人节快乐!对不起,我没有注意到这一点,希望你的也是一个爆炸!