{"id":15049293,"url":"https://github.com/baines/insobot","last_synced_at":"2025-04-10T02:04:21.451Z","repository":{"id":95567735,"uuid":"44275922","full_name":"baines/insobot","owner":"baines","description":"C99 modular IRC bot with markov chains","archived":false,"fork":false,"pushed_at":"2023-03-23T20:32:15.000Z","size":1526,"stargazers_count":75,"open_issues_count":7,"forks_count":5,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-24T03:43:39.899Z","etag":null,"topics":["c99","insobot","irc","irc-bot","markov-chain","modular"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baines.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-10-14T20:55:55.000Z","updated_at":"2025-01-25T21:46:16.000Z","dependencies_parsed_at":"2023-04-22T18:04:44.446Z","dependency_job_id":null,"html_url":"https://github.com/baines/insobot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baines%2Finsobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baines%2Finsobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baines%2Finsobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baines%2Finsobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baines","download_url":"https://codeload.github.com/baines/insobot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248142944,"owners_count":21054671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c99","insobot","irc","irc-bot","markov-chain","modular"],"created_at":"2024-09-24T21:19:33.753Z","updated_at":"2025-04-10T02:04:21.386Z","avatar_url":"https://github.com/baines.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# insobot\nModule based IRC bot written in C with markov chains and stuff.\n\n## Documentation\nRefer to https://insobot.com for the most up-to-date list of commands.\nThis site is auto-generated from each module's source code using the `ibdox` program in utils/\n\nThere's also some older info if you scroll down.\n\nSome of the !things will be \"aliases\" specific to certain channels not listed above.\nUse !lsa and !lsga to view them.\n\n## Running it\nTo run your own insobot instance, see [this quickstart guide](https://github.com/baines/insobot/wiki/quickstart)\n, other pages in [the wiki](https://github.com/baines/insobot/wiki), and the\nfiles 'insobot.sh.example' and 'src/config.h'.\n\nI should be available in [#botdev](ircs://irc.handmade.network:7777/#botdev)\non irc.handmade.network/7777 (ssl) if you need help. See also the [Handmade Network project page](https://insobot.handmade.network)\nfor a place to post forum topics or read project updates.\n\n## Contributing\nAny contributions of new modules, improvements to existing modules, or raising\nissues / pull requests here on github is welcome.\n\nIf you want to write your own modules take a look at `src/module.h` for the API\nand `src/mod_hello_world.c` for an example.\n\nUse `mkmod.sh \u003cmymodname\u003e` to quickly get a template module.\n\n## Command List\nThis table shows common modules \u0026 commands. Refer to the top of each module's\n.c file for a complete listing, or https://insobot.com which might be more up-to-date.\n\nPrefix the commands with ! or \\\\. \\\\ sometimes doesn't work due to poor escaping (twitch irc).\n\n\n|      Module      | Description             | Command                     | Purpose                           | Permission |\n|------------------|-------------------------|-----------------------------|-----------------------------------|------------|\n| **mod_alias**    | Adds short ! macros     | alias      \\\u003ckey\\\u003e \\\u003cval\\\u003e  | Adds a channel-specific alias     | WLIST      |\n|                  |                         | galias     \\\u003ckey\\\u003e \\\u003cval\\\u003e  | Adds an alias for all channels    | WLIST      |\n|                  |                         | unalias    \\\u003ckey\\\u003e          | Removes a channel-specific alias  | WLIST      |\n|                  |                         | gunalias   \\\u003ckey\\\u003e          | Removes a global alias            | WLIST      |\n|                  |                         | chaliasmod \\\u003ckey\\\u003e \\\u003cperm\\\u003e | Sets permission to use the alias  | WLIST      |\n|                  |                         | lsalias                     | Lists current aliases             | WLIST      |\n| **mod_automod**  | Automatic moderation    | b  \\\u003cuser\\\u003e [sec]           | Times out \\\u003cuser\\\u003e (default 10s)  | WLIST      |\n|                  |                         | ub \\\u003cuser\\\u003e                 | Removes timeout on \\\u003cuser\\\u003e       | WLIST      |\n| **mod_core**     | Core functionality      | m                           | Shows list of modules             | WLIST      |\n|                  |                         | mon \\\u003cmod\\\u003e                 | Enables module \\\u003cmod\\\u003e            | WLIST      |\n|                  |                         | moff \\\u003cmod\\\u003e                | Disables module \\\u003cmod\\\u003e           | WLIST      |\n|                  |                         | minfo \\\u003cmod\\\u003e               | Show module's description         | WLIST      |\n|                  |                         | join \\\u003cchan\\\u003e               | Joins the given channel           | ADMIN      |\n|                  |                         | leave \\\u003cchan\\\u003e              | Leaves the current channel        | ADMIN      |\n| **mod_haiku**    | Poorly generates haikus | haiku                       | Let the poetry flow               | WLIST      |\n|                  |                         | scount \\\u003cword\\\u003e             | Show syllable guesstimate         | WLIST      |\n| **mod_help**     | Lists commands          | help [module]               | Shows commands (for [module])     | NORMAL     |\n| **mod_hmh**      | Handmade Hero commands  | schedule [tz timezone]      | Shows HMH schedule                | NORMAL     |\n|                  |                         | time                        | Shows time until next HMH stream  | NORMAL     |\n| **mod_imgmacro** | Create Image Macros     | newimg \\\u003ctemplate\\\u003e \\\u003ctext\\\u003e| Uploads an img macro, returns url | WLIST      |\n|                  |                         | img \\\u003cid\\\u003e                  | Recalls the url for an image by id| WLIST      |\n|                  |                         | autoimg                     | Auto-generates an image macro     | WLIST      |\n| **mod_info**     | Get info from DDG's API | info \\\u003cquery\\\u003e              | Shows information about the query | WLIST      |\n| **mod_karma**    | Tracks ++ and --        | karma                       | Shows your own karma              | NORMAL     |\n|                  |                         | karma \\\u003cuser\\\u003e              | Shows \\\u003cuser\\\u003e's karma            | WLIST      |\n|                  |                         | ktop [n]                    | Shows overall top n karma         | ADMIN      |\n| **mod_linkinfo** | Expands certain links   | *\\\u003cnone\\\u003e*                  | *N/A*                             |            |\n| **mod_markov**   | Says dumb things        | say                         | Force say something (5min cd)     | NORMAL     |\n|                  |                         | ask                         | Asks something (shared 5min cd)   | NORMAL     |\n|                  |                         | interval \\\u003cn\\\u003e              | Sets the rate of random messages  | ADMIN      |\n|                  |                         | len                         | Sets average sentence length      | ADMIN      |\n|                  |                         | status                      | Prints markov status info         | ADMIN      |\n| **mod_poll**     | Create polls            | poll+ q? opt0 \\| .. \\| optn | Create a new poll                 | WLIST      |\n|                  |                         | poll- [\\#id]                | Close a poll by id (or latest)    | WLIST      |\n|                  |                         | poll [\\#id]                 | Show poll status                  | WLIST      |\n|                  |                         | pall / popen                | Show open polls                   | WLIST      |\n|                  |                         | vote [\\#id] n               | Vote for option n of a poll       | NORMAL     |\n| **mod_psa**      | Add periodic messages   | psa+ \\\u003cid\\\u003e [args]          | Add a new PSA                     | WLIST      |\n|                  |                         | psa- \\\u003cid\\\u003e                 | Remove a previously added PSA     | WLIST      |\n| **mod_quotes**   | Stores quotes           | q  [\\#chan] \\\u003cn\\\u003e           | Shows quote n                     | NORMAL     |\n|                  |                         | q+ [\\#chan] \\\u003ctext\\\u003e        | Adds a new quote                  | WLIST      |\n|                  |                         | q- [\\#chan] \\\u003cn\\\u003e           | Removes a quote                   | WLIST      |\n|                  |                         | qfix [#chan] \\\u003cn\\\u003e \\\u003ctext\\\u003e | Changes the text of quote n       | WLIST      |\n|                  |                         | qft  [#chan] \\\u003cn\\\u003e \\\u003ctime\\\u003e | Changes the timestamp of quote n  | WLIST      |\n|                  |                         | ql                          | Shows link to quote gist          | NORMAL     |\n|                  |                         | qs [\\#chan] \\\u003cs\\\u003e           | Searches for quotes containing s  | NORMAL     |\n|                  |                         | qr [\\#chan]                 | Shows a random quote              | NORMAL     |\n| **mod_schedule** | Stream schedule info    | sched+ [\\#chan] \\\u003cschedule\\\u003e| Adds a schedule                   | WLIST      |\n|                  |                         | sched- [\\#chan] \\\u003cid\\\u003e      | Removes a schedule                | WLIST      |\n| **mod_twitch**   | Twitch.tv functions     | fnotify \\\u003con\\|off\\\u003e         | {En,Dis}ables follower notifier   | ADMIN      |\n|                  |                         | uptime                      | Shows stream's uptime             | NORMAL     |\n|                  |                         | vod                         | Links to the latest VoD           | NORMAL     |\n|                  |                         | vod \\\u003cuser\\\u003e                | Links to \\\u003cuser\\\u003e's latest VoD    | WLIST      |\n|                  |                         | streams                     | Manages stream tracker            | WLIST      |\n|                  |                         | title \\\u003cmsg\\\u003e               | Sets stream title [if made editor]| WLIST      |\n| **mod_whitelist**| Manages permissions     | wl                          | Shows if you are whitelisted      | NORMAL     |\n|                  |                         | wl \\\u003cuser\\\u003e                 | Shows if \\\u003cuser\\\u003e is whitelisted  | WLIST      |\n|                  |                         | wl+ \\\u003cuser\\\u003e                | Whitelists \\\u003cuser\\\u003e               | ADMIN      |\n|                  |                         | wl- \\\u003cuser\\\u003e                | Unwhitelists \\\u003cuser\\\u003e             | ADMIN      |\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaines%2Finsobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaines%2Finsobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaines%2Finsobot/lists"}