--- author: ~cmccabe published: true title: cool irc bots description: information about irc bots on tilde.chat category: - main --- # tilde.chat irc bots you might have seen some bots lurking about in chat. this page is intended to be a common place for documentation. bots should be well behaved and efficient with system resources. if you see a bot that is not, please remind the botmaster about this and/or notify an admin. naughty bots can make the system less enjoyable for everyone, and we all have to work together to police them. ## rules and etiquette for tilde.chat irc bots please set usermode +B on your bot on connect to identify it as a bot. this is also documented in [rfc-2](https://rfc.tildeverse.org/rfcs/2#usermode--b). your bot must respond to !botlist with the following information: - your system username (as creator/botmaster) - so we can contact you if the bot misbehaves - one line description of the bot's functionality - list of the bots public commands be conservative about automatically re-connecting to the server or channel. if your bot's code is not yet stable, keep it in the #bots channel and do testing there. don't join #chaos or unless you want your bot to be spammed to hell and back. all of the bots should also adhere to the following RFC specification: [RFC 2: Standardising IRC Bot Behavior](https://rfc.tildeverse.org/rfcs/2). ## tilde.team bot starter kit [khuxkm](https://khuxkm.tilde.team) is hard at work developing a starter kit framework in python that you can use to build your own irc bot. find the [source here](https://tildegit.org/team/teambot). it's installed globally on ~team, so get coding! ## add your bot to the list below follow the example of sedbot when you add your bot in a PR to the wiki * sedbot - botmaster: [~ben](https://ben.tilde.team) - short description: sent a typo in chat? fix it up with a sed expression and sedbot will try to correct it - list of functions: + s/needle/replace/flags + most regex character classes match here + flags include `g` and `i` - [source](https://tildegit.org/ben/sedbot) * bitbot - botmaster: [~jesopo](https://lolnerd.net) - short description: hand-crafted, artisanal `IRCv3` bot. slowly taking over `tilde.chat`. we bow before bitbot. - list of functions: + `sed`-like corrections like `sedbot` + weather/time per user (`,weather`/`,w`/`,time`) + user pronouns: `,pronouns` + wolfram alpha integration: `,wa` + translation services: `,translate le pain est sale` + some per-user configuration available via `,config` + git hooks (including gitea) - notifications on push/etc + write your own functionality with a plugin! + ducc frens (when a duck appears: `,bef`/`,trap`, see stats with `,friends`/`,enemies`) - [source](https://github.com/jesopo/bitbot) * tracer - botmaster: [~ben](https://ben.tilde.team) - short description: generate tracery output from grammars in you ~/.tracery (on ~team) - forked and ported from [selfsame/tracer](https://notabug.org/selfsame/tracer) for py3 support - list of functions: + !!list + !! + !!fuse + | at the end of commands will echo the output in a new message eg: !!drink | !toot - [source](https://tildegit.org/ben/tracer) * tooter - botmaster: [~ben](https://ben.tilde.team) - short description: toots from @tildeverse@tilde.zone (@tildeteam@tilde.zone in #team) - list of functions: + !toot - [source](https://tildegit.org/ben/tooter) * radiobot - botmaster: [~ben](https://ben.tilde.team) - short description: a janky bot in bash to post tilderadio updates - also toots from @tilderadio@tilde.zone - list of functions: + radiobot: subscribe (or unsubscribe) - send a query when a dj goes online + radiobot: np - show what's currently playing on tilderadio + radiobot: dj - show who's currently broadcasting + radiobot: link - show a link to the tilderadio stream + radiobot: source - show a link to the sourcecode + radiobot: slogan - grab a random tilderadio slogan - [source](https://tildegit.org/ben/radiobot) * Babili - botmaster: [~aewens](https://aewens.tilde.team) - short description: A data aggregating bot for the IRC server, can as an API for other bots for handling historical data from the network - list of functions: + View aggregated data at https://babili.xyz - [source](https://tildegit.org/babili) * circles - botmaster: [~lickthecheese](https://lickthecheese.fuckup.club) - short description: a nice bot to solve geometry problems - list of functions: + do ?help to list commands - [source](https://tildegit.org/lickthecheese/circles) * [badger](./badger) - botmaster: [~khuxkm](https://khuxkm.tilde.team) - short description: the Twitch Plays Pokemon badge system, ported to tildeverse IRC? - list of functions: - `+listbadges` - List the badges in your possession. - `+transmute [badge...]` - Transmute 3 or more badges into one, hopefully rarer badge. - just be active in #meta and you should get badges. you'll get a message when you get your first! - [source](https://tildegit.org/khuxkm/badger) * pink_dragon - botmaster: [~absalom](https://tildegit.org/baruchel) - short description: idle hack'n slash game on the `#legend` channel - list of functions: see the rules at [Legend of the Pink Dragon](https://pink-dragon.surge.sh) - [source](https://gitlab.com/baruchel/pink-dragon) * k - botmaster: [~kiedtl](https://kiedtl.tilde.team) - short description: a small bot with a bunch of miscellaneous functions - list of functions: + logging, with logs publicly available [here](https://tilde.team/~kiedtl/dyn/logs.php) + `:dc`: `/bin/dc` expression evaluator. + `:fortune`: print a random fortune. + `:usrstats`: print statistics about users. + `:chanstats`: print statistics about channels. + `:owo`, `:pig`, `:rot13`, `:rev13`: random text manipulation functions. + and many more in the making! - [source](https://github.com/kiedtl/ircbot)