https://github.com/baines/insobot
C99 modular IRC bot with markov chains
https://github.com/baines/insobot
c99 insobot irc irc-bot markov-chain modular
Last synced: about 1 year ago
JSON representation
C99 modular IRC bot with markov chains
- Host: GitHub
- URL: https://github.com/baines/insobot
- Owner: baines
- License: mit
- Created: 2015-10-14T20:55:55.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-03-23T20:32:15.000Z (about 3 years ago)
- Last Synced: 2025-03-24T03:43:39.899Z (about 1 year ago)
- Topics: c99, insobot, irc, irc-bot, markov-chain, modular
- Language: C
- Homepage:
- Size: 1.46 MB
- Stars: 75
- Watchers: 10
- Forks: 5
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# insobot
Module based IRC bot written in C with markov chains and stuff.
## Documentation
Refer to https://insobot.com for the most up-to-date list of commands.
This site is auto-generated from each module's source code using the `ibdox` program in utils/
There's also some older info if you scroll down.
Some of the !things will be "aliases" specific to certain channels not listed above.
Use !lsa and !lsga to view them.
## Running it
To run your own insobot instance, see [this quickstart guide](https://github.com/baines/insobot/wiki/quickstart)
, other pages in [the wiki](https://github.com/baines/insobot/wiki), and the
files 'insobot.sh.example' and 'src/config.h'.
I should be available in [#botdev](ircs://irc.handmade.network:7777/#botdev)
on irc.handmade.network/7777 (ssl) if you need help. See also the [Handmade Network project page](https://insobot.handmade.network)
for a place to post forum topics or read project updates.
## Contributing
Any contributions of new modules, improvements to existing modules, or raising
issues / pull requests here on github is welcome.
If you want to write your own modules take a look at `src/module.h` for the API
and `src/mod_hello_world.c` for an example.
Use `mkmod.sh ` to quickly get a template module.
## Command List
This table shows common modules & commands. Refer to the top of each module's
.c file for a complete listing, or https://insobot.com which might be more up-to-date.
Prefix the commands with ! or \\. \\ sometimes doesn't work due to poor escaping (twitch irc).
| Module | Description | Command | Purpose | Permission |
|------------------|-------------------------|-----------------------------|-----------------------------------|------------|
| **mod_alias** | Adds short ! macros | alias \ \ | Adds a channel-specific alias | WLIST |
| | | galias \ \ | Adds an alias for all channels | WLIST |
| | | unalias \ | Removes a channel-specific alias | WLIST |
| | | gunalias \ | Removes a global alias | WLIST |
| | | chaliasmod \ \ | Sets permission to use the alias | WLIST |
| | | lsalias | Lists current aliases | WLIST |
| **mod_automod** | Automatic moderation | b \ [sec] | Times out \ (default 10s) | WLIST |
| | | ub \ | Removes timeout on \ | WLIST |
| **mod_core** | Core functionality | m | Shows list of modules | WLIST |
| | | mon \ | Enables module \ | WLIST |
| | | moff \ | Disables module \ | WLIST |
| | | minfo \ | Show module's description | WLIST |
| | | join \ | Joins the given channel | ADMIN |
| | | leave \ | Leaves the current channel | ADMIN |
| **mod_haiku** | Poorly generates haikus | haiku | Let the poetry flow | WLIST |
| | | scount \ | Show syllable guesstimate | WLIST |
| **mod_help** | Lists commands | help [module] | Shows commands (for [module]) | NORMAL |
| **mod_hmh** | Handmade Hero commands | schedule [tz timezone] | Shows HMH schedule | NORMAL |
| | | time | Shows time until next HMH stream | NORMAL |
| **mod_imgmacro** | Create Image Macros | newimg \ \| Uploads an img macro, returns url | WLIST |
| | | img \ | Recalls the url for an image by id| WLIST |
| | | autoimg | Auto-generates an image macro | WLIST |
| **mod_info** | Get info from DDG's API | info \ | Shows information about the query | WLIST |
| **mod_karma** | Tracks ++ and -- | karma | Shows your own karma | NORMAL |
| | | karma \ | Shows \'s karma | WLIST |
| | | ktop [n] | Shows overall top n karma | ADMIN |
| **mod_linkinfo** | Expands certain links | *\* | *N/A* | |
| **mod_markov** | Says dumb things | say | Force say something (5min cd) | NORMAL |
| | | ask | Asks something (shared 5min cd) | NORMAL |
| | | interval \ | Sets the rate of random messages | ADMIN |
| | | len | Sets average sentence length | ADMIN |
| | | status | Prints markov status info | ADMIN |
| **mod_poll** | Create polls | poll+ q? opt0 \| .. \| optn | Create a new poll | WLIST |
| | | poll- [\#id] | Close a poll by id (or latest) | WLIST |
| | | poll [\#id] | Show poll status | WLIST |
| | | pall / popen | Show open polls | WLIST |
| | | vote [\#id] n | Vote for option n of a poll | NORMAL |
| **mod_psa** | Add periodic messages | psa+ \ [args] | Add a new PSA | WLIST |
| | | psa- \ | Remove a previously added PSA | WLIST |
| **mod_quotes** | Stores quotes | q [\#chan] \ | Shows quote n | NORMAL |
| | | q+ [\#chan] \ | Adds a new quote | WLIST |
| | | q- [\#chan] \ | Removes a quote | WLIST |
| | | qfix [#chan] \ \ | Changes the text of quote n | WLIST |
| | | qft [#chan] \ \