Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rt2013g/hexa-bot
Core bot of the Telegram groups @yugiohitatcgocg, @yugiohmarketingita and affiliates
https://github.com/rt2013g/hexa-bot
postgres python telegram-bot
Last synced: 14 days ago
JSON representation
Core bot of the Telegram groups @yugiohitatcgocg, @yugiohmarketingita and affiliates
- Host: GitHub
- URL: https://github.com/rt2013g/hexa-bot
- Owner: rt2013G
- License: apache-2.0
- Created: 2024-02-22T20:15:13.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-03-31T10:40:18.000Z (10 months ago)
- Last Synced: 2024-11-15T00:13:24.393Z (3 months ago)
- Topics: postgres, python, telegram-bot
- Language: Python
- Homepage:
- Size: 219 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Core bot of the Telegram groups @yugiohitatcgocg, @yugiohmarketingita and affiliates.
## Description
hexa-bot was created out of the need to manage thousands of users in a Telegram community I own, where we previously handled all requests by hand. \
The main topic of the community, as you may have guessed by the name, is the trading card game known as "Yu-Gi-Oh", which I have been interested in since 2010. \
The name of the bot comes from the card "Hexa Spirit of the Ice Barrier", a nice little fellow from the "Ice Barrier" archetype, which is the main theme across the groups. \
If you are interested in the game you are more than welcome to join, at the moment we are focused mostly on the Italian-speaking groups, but we also have an English-speaking one that you can find at @yugiohgroup## Usage
hexa-bot is currently focused on admin-side utilities, but there are also some nice things you can do as a normal user:
- Gain access to the marketplace group via the `/seller` command
- Leave feedbacks to other users marking your feedback messages with `#feedback`
- Get all the feedbacks related to a user via the `/feedback @username` command
- Obtain the description of any card using the `/search` command
- Play the "Guess the card game" in our public group, directly on Telegram, with `/guessthecard`## Contributing
If you have experience with Python and the [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) library, you are free to clone the repo and submit a pull request. The only things you need are a bot token obtained via @botfather, a debug_config.json file in the app/static folder, which should contain various informations about the testing environment (bot username, groups, etc..) and a Postgres database.
Please note that for linting and formatting I'm using _trunk_, you can find the configuration files in this repo.
Also please keep in mind that this bot works to serve a specific community on Telegram, if you are unsure of what needs to be done you can [join the group](#title) or read the [todo section](#todo).The bot has been deployed and is currently running at @yugiohmainbot, but I'm still working on improving existing code and adding new features. \
Here is a list of various things that I'm planning on doing:- Create an API to retrieve community analytics (and display them on this repo)
- Add support for auctions, claims and other important group features
- Add features for the judge role which is currently not used
- Use a better way to check if a post is a sell post or buy post, or neither
- Add more roles and different permissions to roles, check the permissions instead of the roles
- Add more games and events for the community
- Build a userbot with another library to test the handlers
- A plethora of other minor tweaks and fixes that I've written down in my personal todo list