Both `!help` and `!listcommand` are handled by the bot itself, so take advantage of how the addons method calls work to implement both `matrix_command` and `help_command` on `self`. Add `help_command` to each currently enabled and functional addon
2.5 KiB
Chronicle
Chronicle is a multi-purpose chat bot.
It currently supports Matrix, but has ambitions of supporting Discord in the future.
Chronicle is still heavily work-in-progress, and the hobby of an occasionally productive fellow.
Features
- List available commands (
!listcommands
) and get help with them (!help [COMMAND]
) - Ping (returns
Pong!
; good for testing connectivity) - Dice Roller (
!roll 2d4
-->Roll: 2d4 ([2, 1]) ==> 3
) - 8-ball (
!8ball Will I win the lottery?
-->Try again later
) - Ad-hoc simple custom commands (
!addcommand hello Hey there!
-->!hello
-->Hey there!
) - More to come!
Planned Features
- Simple calculator (
!calc 8 + (9-10)
-->Calc: 8 + (9 - 10) ==> 7
) - Simple games (Blackjack, High/Low)
- A "mystery" game (Kind of like Clue! or Noir Syndrome)
- A "progress quest" like game (time-based character auto-progression)
- Expanded custom commands (allow for commands with arguments)
- Enabling of add-on features (ie., everything mentioned above) per room
- Establish/restrict command permissions per user/role per room.
- Change the command prefix (from default
!
to whatever you'd like!) - Run in a Docker container!
Development
You can run your own instance of Chronicle with a few steps:
- Fork the repository, and clone it locally
- Setup a bot user in Matrix, and get it's "Access Token" (or use your own).
- Export the access token to CHRONICLE_ACCESS_TOKEN for ease of use
- Run
bundle update
to install dependencies. - Run
bundle exec chronicle -d <your-homeserver-address-here> CHRONICLE_ACCESS_TOKEN
- Invite the bot user to a room, and
!ping
to make sure it's working! - Update the
allowed_commands
variable to add additional commands (for now).
Contribute
If you are interested in contributing to Chronicle, first let me say thanks! Next, please follow these steps:
- Fork the repository, and perform any changes you'd like.
- Submit a pull request, explaining the changes.
- Work with me to get those changes merged.
Chronicle is a hobby project, and as such I may not be immediately responsive to any requests. Please do not be discouraged! I will try to address any issues or pull requests in a reasonable time.
Issues
If you find something amiss with Chronicle, please submit an issue! I will try to address it in a reasonable time.
Contact
If you're interested in discussing Chronicle, you can speak with me on Matrix! I'm Vagabond.