Roll Robot

@rollrobot

Кубікі для настолак у любым чаце — D&D, Pathfinder, World of Darkness, Shadowrun, Fate, Call of Cthulhu.

Адкрыць у Telegram

Як пачаць

Адкрый @rollrobot, націсні «Запусціць», дашлі /roll 2d6+3. У адказ прыйдзе выраз, які бот прачытаў, і сума.

Гуляеш кампаніяй? Дадай бота ў чат. Ён адказвае на паведамленне, якое яго выклікала, таму некалькі чалавек могуць кідаць адначасова і кожны адказ застаецца пры сваім пытанні. Яму патрэбны дазвол на адпраўку паведамленняў, іначай ён маўчыць.

Калі дадаць бота нельга, ёсць інлайн: напішы @rollrobot 2d6+3 і націсні на вынік. Ні дадаваць, ні выдаваць правы не трэба — кідок пойдзе тваім уласным паведамленнем.

Каманды

Пяць каманд, аднолькавых у асабістых чатах і групах. /roll і /full прымаюць натацыю; без яе кідаецца звычайны d20.

/roll /r

Сума і нармалізаваны выраз, каб было відаць, што бот прачытаў.

/roll 2d6+3
2d6 + 3 = 13

/full /f

Той самы кідок, па кубіках. Адкінутае перакрэслена, натуральны максімум ці мінімум са стрэлкай; у пуле з падлікам поспехі тлустым, правалы падкрэслена.

/full 4d6kh3
4d6kh3 = 14 [6↑, 5, 3, 1↓]
/full 4d10>=6f1
4d10>=6f1 = 2 successes, 1 failure [10↑, 7, 3, 1↓]

/random

Толькі d100, калі проста патрэбны лік з сотні. Тое самае, што /roll d100.

/roll d100
1d100 = 73

/ask /a

Адказ Yes або No для рашэнняў, дзеля якіх не варта кідаць кубік, — ці ёсць на дзвярах пастка, ці таргуецца купец, ці будзе ўначы дождж. Усё пасля каманды — гэта пытанне, і яно цытуецца над адказам.

  • Двукоссе не патрэбнае. Знакі прыпынку, апострафы і натацыя ўнутры пытання бяспечныя.
  • Пустая /ask таксама працуе: пытання няма, толькі адказ — для таго, што і так сказана ўголас за сталом.
  • Адказ — гэта d2, значыць сумленная манета і нічога больш.
  • Yes і No застаюцца англійскімі ва ўсіх мовах — мова інтэрфейсу дрэнна прадказвае мову чата.
/ask Адчыняем дзверы?
Адчыняем дзверы?
Yes ✅
/ask
No ❌

/help

Даведка па натацыі адным паведамленнем, са спасылкамі на пясочніцу і даведнік. Гэтая старонка сцісла, не выходзячы з Telegram. /start выводзіць тое самае.

Бета-магчымасці

Працуе, але яшчэ не ўсталявалася: усё ў гэтым раздзеле можа змяніцца ці наогул знікнуць з бота ў наступным абнаўленні. Пяць каманд вышэй — не.

/pick /p

Выбірае адзін варыянт са спіса, які ты даеш, — выпадковая сустрэча, хто вартуе першым, якія дзверы. Адзін кубік па варыянтах, без вагаў, калі не зададзіш іх сам.

  • Прынамсі два варыянты, не больш за сто.
  • Хопіць коскі — Пракрасціся, Дамовіцца. | і ; робяць тое самае, а перанос радка старэйшы за абодва, таму ўстаўленая табліца дзеліцца па радках.
  • Ужываецца толькі першы наяўны раздзяляльнік, у такім парадку: перанос радка, потым | ці ;, потым коска, потым проста прабелы. Стаў |, калі ў варыянце ёсць коска, — Вяроўка, 15 м | Паходня дзеліцца на два, а не на тры.
  • Паўтары варыянт, каб задаць яму вагу: кожная копія займае ў спісе асобнае месца.
  • Назва ў двукоссі ў канцы падпісвае выбар, а не становіцца яшчэ адным варыянтам.
/pick Патруль гоблінаў | Пусты пакой | Скарбніца
Пусты пакой
/pick Пракрасціся, Дамовіцца, Зрабіць засаду
Дамовіцца

Асаблівасці

Для звычайнага кідка нічога з гэтага не трэба. Гэта тое, што бот мае для тых, хто карыстаецца ім кожную сесію і хоча менш друкаваць.

Назвы ў двукоссі

Назва ў двукоссі ў канцы кідка цытуецца над вынікам, таму чат, поўны голых лікаў, застаецца чытэльным. Працуе аднолькава ў /roll, /full і /pick, а тыпаграфскае двукоссе, якое падстаўляе клавіятура тэлефона, прымаецца нароўні з простым.

Двукоссе абавязковае. Парсер прымае так шмат, што слова без двукосся немагчыма надзейна адрозніць ад натацыі, таму 2d20kh1+7 Успрыманне чытаецца як натацыя і не праходзіць, а 2d20kh1+7 "Успрыманне" кідаецца і бярэ назву.

/roll 2d20kh1+7 "Успрыманне"
Успрыманне
2d20kh1 + 7 = 26

Запіс праз прабелы

Два ці тры лікі праз прабел чытаюцца як кідок: /roll 4 6 — гэта 4d6, а /roll 1 20 -3 — 1d20-3. Трэці лік — мадыфікатар, і ён нясе свой уласны знак.

/roll 1 20 -3
1d20 - 3 = 11

Голыя лікі

Лік сам па сабе — гэта кубік: /roll 20 кідае d20.

/roll 20
1d20 = 12

Кірылічныя літары кубікаў

к і д пераходзяць у d яшчэ да чытання натацыі, таму 2к6 кідае 2d6. Руская, украінская і беларуская натацыя працуюць аднолькава, а лацінскае k у kh і kl застаецца некранутым.

/roll 2к6
2d6 = 8

Персідскія лічбы

۲۰ кідае d20. Араба-індыйскія і персідскія лічбы пераходзяць у ASCII яшчэ да чытання натацыі; назва ў двукоссі захоўвае свае лічбы некранутымі.

/roll ۲۰
1d20 = 17

Інлайн-рэжым

Напішы @rollrobot і натацыю ў любым чаце, у тым ліку ў групе, якая пра бота нічога не ведае. Над клавіятурай адкрыецца спіс; націсні на вынік, і ён адправіцца як тваё ўласнае паведамленне.

@rollrobot 2d20kh1+7 прапануе адзін кідок пад двума загалоўкамі — «Кідок» і «Падрабязны». Выбар мяняе выгляд, а не кубікі — гэта ніколі не перакід.

Калі пасля імя нічога няма, будзе тры загатоўкі: «Кідок» і «Падрабязны» на d20, «Выпадковы» на d100.

Калі ў запыце ёсць пытанне, у спісе з’яўляецца «Пытанне»: наверсе, калі кідка няма, і ўнізе, калі ёсць. Яўны раздзяляльнік паміж дзвюма часткамі, ніводная з якіх не натацыя, — Патруль гоблінаў | Пусты пакой — ставіць наверх «Выбар». Адны прабелы тут не лічацца, у адрозненне ад /pick, іначай кожнае недапісанае пытанне прапаноўвала б выбар пад сваім адказам. Інлайнавы выбар нясе свой спіс у самім паведамленні, бо над ім няма каманды, на якую можна было б адказаць.

Вынікі персанальныя і не кэшуюцца, таму кожны запыт кідае нанова.

Натацыя

Тое, што ты сапраўды пішаш. Рэгістр і прабелы не важныя, таму 2 D 20 KH 1 і 2d20kh1 — адзін і той жа кідок. Кожная група ніжэй спыняецца там, дзе канчаецца карыснае; астатняе ёсць у даведніку, а пясочніца дае гэта запусціць.

Кубікі і арыфметыка

2d6Два шасцігранныя кубікі.
d20Колькасць па змаўчанні — адзін.
2d20+5Арыфметыка: + - * / і дужкі.
(1d6+2)*3Дужкі групуюць усё, што ў іх пакладзеш.
(1d4)d6Вылічаная колькасць: кінь 1d4, потым столькі ж d6.

Пакінуць і адкінуць

4d6kh3Пакінуць тры найбольшыя — характарыстыка.
2d20kh1Перавага: большы з двух d20.
2d20kl1Перашкода: меншы.
4d6dl1Адкінуць найменшы; dh адкідае найбольшы.
{1d8!, 1d6!}kh1Пакінуць па групе — кожны ўкладзены кідок спаборнічае як адзін кубік.

Выбуховыя кубікі

d8!Максімум дадае яшчэ адзін кубік.
d8!!Сумарны: дадатковы кідок дадаецца да таго ж кубіка.
d8!pПранікальны: кожны дадатковы кубік атрымлівае −1.
5d10!=10Выбух па парозе, а не па найвышэйшай грані.

Перакіды і межы

2d6r<3Перакідаць значэнні, меншыя за 3, колькі спатрэбіцца.
2d6ro<3Перакінуць адзін раз, пакінуць другі вынік.
4d6min2Падняць кожны кубік прынамсі да 2.
4d6max5Абмежаваць кожны кубік пяццю.

Пулы поспехаў і праверкі

12d6>=5Кожныя 5 і 6 лічацца поспехам.
7d10>=6f1Падлік поспехаў, адзінкі адымаюцца як правалы.
1d20+7 vs 15Праверка супраць складанасці, адказ — ступень поспеху.

Іншыя кубікі і функцыі

4dFКубікі Fate, кожны −1, 0 ці +1.
d%Працэнтны кубік — той самы, што 1d100.
2d6+floor(1d4/2)Функцыі: floor, ceil, round, abs, min, max, sqrt, pow.

Па гульнявых сістэмах

Кідок, з якога пачынае кожны стол, гатовы да капіявання.

D&D 5e

Атака з перавагай: два d20, пакінуць большы, дадаць свой бонус.

/full 2d20kh1+7
2d20kh1 + 7 = 26 [8, 19] + 7

Pathfinder 2e

Праверка супраць складанасці. Перавысіў на дзесяць — крытычны поспех, не дабраў дзесяці — крытычны правал; натуральная 20 ці 1 зрушвае вынік на адну ступень.

/full 1d20+12 vs 20
1d20 + 12 vs 20 = Critical Success (natural 18) [18] + 12 vs 20

World of Darkness

Пул Storyteller: поспех на 6 і вышэй, кожная 1 здымае адзін.

/full 7d10>=6f1
7d10>=6f1 = 4 successes, 1 failure [8, 6, 2, 10↑, 1↓, 4, 7]

Shadowrun

Трапленні на 5 і 6 па ўсім пуле.

/full 12d6>=5
12d6>=5 = 5 successes [5, 3, 6↑, 2, 4, 5, 1↓, 6↑, 3, 5, 2, 4]

Savage Worlds

Кубік рысы і дзікі кубік, абодва выбуховыя; лічыцца большы з двух.

/full {1d8!, 1d6!}kh1
{1d8!, 1d6!}kh1 = 9 {[5], [6, 3]}

Fate

Чатыры кубікі Fudge плюс узровень навыку.

/full 4dF+2
4dF + 2 = 3 [1, 0, -1, 1] + 2

Call of Cthulhu

Кінуць працэнтны кубік ніжэй за свой навык.

/roll d%
1d100 = 37

Абмежаванні

Адзін кідок абмежаваны 100 кубікамі і 100 ітэрацыямі выбухаў ці перакідаў. Папросіш больш — бот скажа пра гэта замест кідка; менавіта гэтыя межы трымаюць адказ у Telegram-абмежаванні на 4096 сімвалаў.

Разбор, які ўсё роўна перавышае 3500 сімвалаў, адкідаецца на карысць сціслага адказу, таму вялікі пул адказвае сумай, а не маўчаннем.

/pick прымае не больш за 100 варыянтаў. Даўжэйшы спіс адхіляецца, а не абразаецца: пакінуць першую сотню значыла б ціха змясціць кожны выбар да пачатку спіса, хоць звонку ўсё выглядала б спраўна.

Назва ў двукоссі абразаецца да 100 сімвалаў, пытанне да /ask — да 300.

Частыя пытанні

Ці трэба дадаваць бота ў групу?

Не. Напішы @rollrobot і натацыю ў любым чаце і абяры вынік — ён адправіцца як тваё ўласнае паведамленне, а бот нікуды не ўступае. Дадаваць яго варта толькі тады, калі стол кідае часта: каманду карацей набіраць.

Ці чытае бот мае паведамленні?

Ён рэагуе толькі на тое, што адрасавана яму: каманды, якія пачынаюцца са слэша, і інлайн-запыты, якія пачынаюцца з @rollrobot. Звычайная размова ігнаруецца — на яе проста няма апрацоўшчыка.

Ці захоўваецца хоць нешта?

Не. Нічога з дасланага не захоўваецца: ні тэкст пытання, ні варыянты са спіса выбару, ні назва ў двукоссі, ні адзін вынік. Запісваецца толькі форма кідка — 2d6, 4d6kh3, каманда, з якой ён прыйшоў, — а Telegram-ID карыстальніка зводзіцца да соленага хэшу, каб лічыць паўторнае карыстанне, не апазнаючы акаўнт. Гэты набор даных толькі на запіс; ён патрэбны, каб бачыць, якую натацыю варта падтрымліваць, і сабраць з яго размову назад немагчыма.

Ці сумленныя кідкі?

Кожны кідок бярэцца нанова з генератара roll-parser, які кожны раз атрымлівае новае зерне. Нічога не вылічваецца загадзя, і ніводзін вынік не пераходзіць ад кідка да кідка.

Ці можна назваць кідок?

Вазьмі назву ў двукоссе ў канцы, і яна з’явіцца над вынікам: /roll 2d20kh1+7 "Успрыманне". Для /pick таксама працуе.

Чаму 4d6d1 — памылка?

Голае d пасля пула неадназначнае — адкінуць адзін ці кінуць столькі кубікаў яшчэ раз? Пішы 4d6dl1, каб адкінуць найменшы, або (4d6)d1 для ўкладзеных кубікаў.

Маю натацыю адхілілі. Што далей?

Бот паўтарае дасланае і падкрэслівае стрэлкамі тую частку, якую не змог прачытаць, таму выпраўленне звычайна відаць проста ў адказе. Складаныя выпадкі хутчэй разабраць у пясочніцы — спасылка ўнізе старонкі.

На якой мове размаўляе бот?

Меню каманд, інлайн-загалоўкі і даведка па натацыі ідуць за мовай інтэрфейсу Telegram: англійская, іспанская, партугальская, нямецкая, руская, украінская, беларуская і персідская; усё астатняе адкочваецца да англійскай. Вынікі — гэта натацыя, таму чытаюцца аднолькава ўсюды. Yes і No наўмысна застаюцца англійскімі: мова інтэрфейсу дрэнна прадказвае мову чата, у якім ты пішаш.