如何添加空白命令?(Discord.py)

时间:2018-11-09 00:26:45

标签: python discord.py

我现在正在创建一个骰子机器人,并希望创建一个灵活的命令。例如,“!1d6”(!XdY)。 另外,我想创建一个命令,例如'![GAMENAME] [COMMAND]'。例如,“!Cthulhu CBR(50,20)”(由于游戏名称很多,因此很难手动添加。)

但都相信可以用相同的方式实现,但不知道采用哪种方式。 我知道如何添加on_message,但是我不知道如何使用@ client.command()添加。

请告诉我。

[我使用了Google翻译。]

1 个答案:

答案 0 :(得分:0)

import random

@client.event
async def on_message(message):
  # Takes in format dice!xdy i.e dice!3d7 rolls 3 d7 dice
  if (message.content.startswith == 'dice!'):
    await client.send_message(message.channel, 'Rolling...')
    diceArr = message.content[5:].split("d")
    totRolled = 0
    for x in range(int(diceArr[0])):
      totRolled = random.randrange(1, int(diceArr[1]), 1) + totRolled
    await client.send_message(message.channel, 'Rolled', totRolled)

这应该做到。虽然我的Linux笔记本电脑已经死了,但我尚未对其进行测试

非Discord版本:

import random

# Takes in format dice!xdy i.e dice!3d7 rolls 3 d7 dice
def roll(stri):
  print('Rolling...')
  diceArr = stri[5:].split("d")
  totRolled = 0
  for x in range(int(diceArr[0])):
    totRolled = random.randrange(1, int(diceArr[1]), 1) + totRolled
  print('Rolled', str(totRolled))

roll("dice!3d7")