Skip to main content

A roll dice plugin for nonebot

Project description

Roll Dice

扔骰子小工具。

使用

import nonebot
from nonebot.adapters.cqhttp import Bot as CQHTTPBot

nonebot.init(_env_file=".env")
driver = nonebot.get_driver()
driver.register_adapter("cqhttp", CQHTTPBot)
nonebot.load_builtin_plugins()

# load other plugins

nonebot.load_plugin("nonebot_plugin_7s_roll")

nonebot.run()

其中 .env 文件除了 nonebot 的常规配置项外,还有可添加以下配置属性(示例中的是默认值):

# 命令名(在 at 机器人时使用, `@bot /roll 1d10`)
I7S_ROLL_COMMAND="roll"
# 关键字(直接使用,无需 at, `roll 1d10`)
I7S_ROLL_TRIGGER="roll"

命令

roll <expr>[[ ]<operator>[ ]<target>]

其中:

  • <expr> 计算表达式,格式为
    • <roll>[[ ][+|-][ ]<roll>]...,其中 roll 不超过 20 项,其格式为:
      • <times>[d|D]<faces>[ ][<policy>],其中
        • <times> 为投掷次数,不超过 20 次
        • <faces> 为骰子面数,不超过 1000 面
        • <policy> 为投掷方式,默认为 sum,可选方式有:
          • sum 求和
          • min 取最小值
          • max 取最大值
          • avg 取平均值
  • operator 为比较运算,可以为
    • >大于
    • <小于
    • >=大于等于
    • <=小于等于
  • target 为期望目标

举例

roll 3d6(在只有一个 roll 时,会显示的比较详细):

3d6 投掷结果

第 1 颗:5
第 2 颗:5
第 3 颗:6

总和为 16

roll 3d10+2d6+1 >20:

3d10+2d6+1 投掷结果(目标 > 20):
(5 + 1 + 9) + (4 + 5) + 1 = 25,通过

roll 3d100max+4d10

3d100max+4d10 投掷结果
(max[35, 60, 29] = 60) + (1 + 1 + 5 + 8) = 75

LICENSE

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot-plugin-7s-roll-0.1.2.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

nonebot_plugin_7s_roll-0.1.2-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file nonebot-plugin-7s-roll-0.1.2.tar.gz.

File metadata

  • Download URL: nonebot-plugin-7s-roll-0.1.2.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.9.1 Darwin/20.2.0

File hashes

Hashes for nonebot-plugin-7s-roll-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1791bff2123d96f70cb929eeac0c229cb9dd1b7b923fbbb512f35eb816e15369
MD5 46a3cc363685d9b5ba32e71aaa06dcb9
BLAKE2b-256 50f4583d1f07a76acd9b2e52028515d876d83d774c83083e59c95222ba3df21a

See more details on using hashes here.

File details

Details for the file nonebot_plugin_7s_roll-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_7s_roll-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0766cefa7aa92ffb11d6614f0454e2f79603eb080222ea836dfebcf0d7dc5eaa
MD5 46b9d434352508da896caaadb9a6b785
BLAKE2b-256 4df54e12dc47cf94dcc727db2038aa905bf9949a97f3321dd8c5cbda8e62de0e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page