Skip to content

tylertian123/ryver-latexbot

Repository files navigation

LaTeX Bot

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.

Building and Running LaTeX Bot

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.

Acknowledgements & Attribution

This project is powered by:

And uses the following open-source libraries:

Many thanks to the developers of these services, libraries and APIs for making LaTeX Bot possible.

Feature Showcase

Rendering LaTeX and simple equations:
render and renderSimple commands

Moving messages between forums:
moveMessages command

Mass-deletion of messages:
Before deleting messages After deleting messages

Role management and mentioning:
Viewing and mentioning roles
The above mention is automatically replaced with the following:
Role mentions are replaced automatically

Keyword watches: Get notified whenever someone mentions a keyword

GitHub integration with chat messages:
Push & PR notification

GitHub Issue/PR automatically converts to Ryver Task:
GitHub Issue/PR integration

Google Calendar integration:
Querying and creating events

Detailed command help messages:
Command help

Playing Trivia with your friends (Powered by the Open Trivia DB):
Trivia game

The Blue Alliance integration (Get live team, event, and district info):
TBA integration

Web server with analytics dashboard (password protected) and more:
Analytics dashboard

Daily Checkiday holidays and new XKCDs:
Checkiday and XKCD

Fully configurable and customizable via a config JSON:
Config JSON