(Epic icon by @AdriTheDreamer)
On9 Word Chain Bot hosts games of word chain in Telegram groups.
- 480k+ games
- 180k+ players
- 43k+ groups
- On9 Word Chain Bot (Live Version)
- Official Group
- Word Additions Channel
- Module restructure
- Add support for other languages in ClassicGame
- i18n for text strings
- /forcestart voting for non-admins
Python 3.7+
PostgreSQL 11+
2 Telegram bots
It is highly recommended that you turn off privacy mode for On9 Word Chain Bot at @BotFather, which is on by default. With privacy mode on, the bot will not receive players' answers unless they reply to the bot.
Create config.json
in the format described in config_format.json.
Constants:
TOKEN
*: A Telegram bot token.ON9BOT_TOKEN
*: Another Telegram bot token for virtual player bot. Can be the same asTOKEN
.DB_URI
: A PostgresSQL database URI. (format) (Won't work with other databases, why did I write raw SQL)PROVIDER_TOKEN
*#: A Telegram payment provider token.OWNER_ID
: Telegram user id of the bot owner.ADMIN_GROUP_ID
^: Telegram group id of the bot admin group. Error messages and word requests are sent here.OFFICIAL_GROUP_ID
^: Telegram group id of the official group of the bot.WORD_ADDITION_CHANNEL_ID
^: Telegram channel id of the channel to announce word additions.VIP
: A list of Telegram user ids of VIPs.VIP_GROUP
: A list of Telegram group ids of VIP groups.
*: Obtained by contacting BotFather.
#: Optional if the payment commands are removed.
Bot currently uses Stripe, other payment providers may not be supported.
^: Set them to the same throwaway group if you do not need related features.
Make sure all data is valid to prevent errors.
Create the required tables in your PostgreSQL database by running init.sql.
Install dependencies with pip install -r requirements.txt
.
Run python main.py
.