LaTeX Bot is a bot for Ryver, built for Team Arctos 6135's organization.
LaTeX Bot introduces many useful features for your organization that Ryver by itself lacks, such as a Roles system with mentions,
Keyword Watches (like Slack's keyword notifications, but more customizable), mass-deleting and moving messages across forums and teams,
and of course, rendering LaTeX (and chemical equations with mhchem
).
There are a lot of other neat features:
- Google Calendar events integration
- GitHub integration (updates and creating Ryver tasks for Issues and Pull Requests!)
- The Blue Alliance integration (get FRC team/district/event info)
- XKCDs and checkiday.com integration
- Toggleable daily events reminders, new xkcd and holidays checks
- Built-in singleplayer or multiplayer trivia game
- Flexible command access management with Access Levels and Access Rules
- Macros in chat messages
For an (almost) complete list of what LaTeX Bot can do, check out usage_guide.md
.
LaTeX Bot uses pyryver
for interfacing with Ryver.
LaTeX Bot is designed to run inside a Docker container. Currently, the hosting of LaTeX Bot is generously provided by @mincrmatt12.
See deployment_guide.md
for more info on building, running and deployment.
This project is powered by:
- XeTeX/LaTeX/TeX
- Ryver (https://ryver.com/)
- Checkiday (https://www.checkiday.com)
- The Blue Alliance (https://www.thebluealliance.com)
- Open Trivia Database (https://opentdb.com)
- Google Calendar
- GitHub
And uses the following open-source libraries:
aiohttp
markdownify
python-dateutil
google-api-python-client
(+Friends)lark-parser
marshmallow
pyryver
Many thanks to the developers of these services, libraries and APIs for making LaTeX Bot possible.
Rendering LaTeX and simple equations:
Moving messages between forums:
Role management and mentioning:
The above mention is automatically replaced with the following:
GitHub integration with chat messages:
GitHub Issue/PR automatically converts to Ryver Task:
Detailed command help messages:
Playing Trivia with your friends (Powered by the Open Trivia DB):
The Blue Alliance integration (Get live team, event, and district info):
Web server with analytics dashboard (password protected) and more: