https://github.com/edloidas/rollrobot
A Telegram bot that can roll the dice like no one before.
https://github.com/edloidas/rollrobot
dice inline roll telegram telegram-bot
Last synced: 2 months ago
JSON representation
A Telegram bot that can roll the dice like no one before.
- Host: GitHub
- URL: https://github.com/edloidas/rollrobot
- Owner: edloidas
- License: mit
- Created: 2016-05-13T12:38:58.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T18:00:08.000Z (over 2 years ago)
- Last Synced: 2025-03-24T11:08:08.755Z (3 months ago)
- Topics: dice, inline, roll, telegram, telegram-bot
- Language: JavaScript
- Homepage: rollrobot.vercel.app
- Size: 266 KB
- Stars: 13
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Roll Robot
==========[](https://telegram.me/rollrobot)
[](https://telegram.me/edloidas)> A Telegram bot that can roll the dice like no one before.
## About ##
Roll Robot is a telegram bot used for common "roll the dice" purposes which is working on group chats.
## Description ##
Roll the dice like no one before. Generate random numbers by default RPG pattern (x)d(y)±(n).
Bot recognizes several commands and can be used in inline mode:
@rollrobot [notation] -- inline request, recognizes both notations
/roll [notation] -- default roll, recognizes both notations
/full [notation] -- same to '/roll', but shows roll for each dice
/random -- 'd100' roll#### Notation: ####
1. Classic
`[count]d[dice]±[modifier]`
2. World of Darkness
`[count]d[dice][!]>[success]f[fail]`
3. Simplfied (classic, space separated)
`[count] [dice] [modifier]`
4. Single-valued
`[dice]`
where ...
* `count` -- number of rolls
* `dice` -- dice type
* `modifier` -- value, that will be added or subtracted from result
* `!` -- sign, indicating to repeat
* `success` -- minimum roll value, that counts as success
* `fail` -- maximum roll value, that counts as fail#### Examples: ####
`/roll 20` ➜ 'd20'
`/roll 2 10 -1` ➜ result of '2d10-1'
`/roll 4d8+3` ➜ result of '4d8+3'
`/wod 6d10!>6f1` ➜ number of successes for '6d10!>6f1'
`/random` ➜ 'd100'[Rate](https://telegram.me/storebot?start=rollrobot) the bot, if you like it.
Your ideas on improvement are welcome.
## Configuration ##
Deployed on [Vercel](https://heroku.com).
* Set the `Config Variables` from the app settings in the dashboard to access them from `process.env.*`.
| KEY | VALUE | DESCRIPTION |
| ----- | --------- | ----------- |
| TOKEN | `$TOKEN` | Token, generated by the BotFather. |
| PORT | 443 | Can be any of `[ 443, 80, 88, 8443 ]`. See [API](https://core.telegram.org/bots/api#setwebhook). |
| HOST | 0.0.0.0 | Any IP |
| URL | https://appname.vercell.app | `appname` is your app name on Vercel |* Set the WebHook with the Telegram. Simply replace the variables in link and open it: https://api.telegram.org/bot{TOKEN}/setWebhook?url={URL}
* Receive the following response: `{"ok":true,"result":true,"description":"Webhook was set"}`