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.0.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

nonebot_plugin_7s_roll-0.1.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nonebot-plugin-7s-roll-0.1.0.tar.gz
  • Upload date:
  • Size: 6.3 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.0.tar.gz
Algorithm Hash digest
SHA256 0beadca7e332371c5f721e253e8bb98fce2819d5312d292004e31d954f3d009c
MD5 9349b7faa3de732786f95e9dd1d9591c
BLAKE2b-256 95aaf12ce726eae84e7d2cecfb869a80b425f58a8a6bc1f2630025eb90c4735e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_7s_roll-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 12fb2e3b94a53e724556cd3c96967637144ee137a6768889feafda3de02ab4a4
MD5 251caa427a35cac2cab075ec947c71da
BLAKE2b-256 210abc47a872bed67954ef80e632155bc3fafb1875d9bc339a1a3401287a3ee0

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