https://github.com/freaky/annoirc
A bot to annotate IRC with information about posted links
https://github.com/freaky/annoirc
irc irc-bot rust tokio
Last synced: 3 months ago
JSON representation
A bot to annotate IRC with information about posted links
- Host: GitHub
- URL: https://github.com/freaky/annoirc
- Owner: Freaky
- License: mit
- Created: 2020-11-17T04:59:09.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-11-26T21:04:13.000Z (about 1 year ago)
- Last Synced: 2025-03-23T16:43:48.942Z (10 months ago)
- Topics: irc, irc-bot, rust, tokio
- Language: Rust
- Homepage:
- Size: 390 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# annoirc - annotate IRC
A simple, efficient IRC bot for annotating Internet Relay Chat conversations.

## Description
`annobot` is an IRC bot meant to respond to unauthenticated users with information
to help enhance the Chat Experience™. This includes:
* Title text and meta descriptions of websites.
* Dedicated handling for OMDB, YouTube, WolframAlpha, and Wikipedia.
* Pretty colours.
* Other stuff at some point.
It's currently very young and should be deployed with care.
## Key Features
* Multi-network.
* Efficient async Rust with request caching and deduplication.
* Per-channel rate limits.
* Graceful config reloads via `SIGHUP`.
* Messy code.
## Usage
Create a configuration file, using `example.toml` as a guide.
Build the bot (currently requires Rust nightly):
```shell
$ cargo install --git https://github.com/Freaky/annoirc.git
```
And run it passing the path to the configuration:
```shell
$ annoirc -c config.toml
```
Changes to your configuration can be applied by calling`kill -HUP` on the annoirc
process.
Configuring it to act as a daemon is system-specific and left as an exercise.
## Todo
* General refactoring.
* Better rate limits.
* Gracefuler config reloads (any IRC changes currently involve a reconnection).
* Fully templated responses with colour support.
* Special handling for Github, Imgur, etc.
* Functions such as weather, dictionary lookups, currency conversions, stocks, etc.
## See Also
* [url-bot-rs](https://github.com/nuxeh/url-bot-rs), another simple Rust URL handling bot.