A collection of custom Sopel IRC bot plugins for fun, games, AI interaction, utility, and community engagement.
Quick References:
All plugins have detailed documentation, command references, and setup instructions in the docs/ folder.
| Plugin | Description | Docs |
|---|---|---|
| ai-multi | Multi-backend AI chatbot (xAI Grok, Ollama, OpenAI) with memory, web search, & intoxication system | docs/ai-multi.md |
| antispam | Multi-mode anti-spam protection, copypasta detection, & Grok AI kick protection | docs/antispam.md |
| antiflood | Join/part cycle flood protection and user whitelist management | docs/antiflood.md |
| jpq | Join/Part/Quit cycle flood protection (enabled by default) | docs/jpq.md |
| operscan | PM-only scanner to identify network and server IRC operators in a channel | docs/operscan.md |
| Plugin | Description | Docs |
|---|---|---|
| mug | IRC economy game with coins, mugging, bounties, casino games (dice, slots, roulette, blackjack, hold'em), & item shop | docs/mug.md |
| beer | Virtual bartender with drinks, tipping, and shared coin economy | docs/beer.md |
| hunt | Wildlife hunting game with guns, ammo, steady aim mechanics, permits, and bounties | docs/hunt.md |
| trivia | Multi-player trivia game with categories, progressive hints, streaks, and persistent stats | docs/trivia.md |
| weed | Smoke & trippy sessions with countdown animations and 15 substances | docs/weed.md |
| moo | Moo counter with legendary moos, power moos (sudo moo), and leaderboards |
docs/moo.md |
| karma | Inline ++ / -- karma system with per-channel & global leaderboards |
docs/karma.md |
| Plugin | Description | Docs |
|---|---|---|
| botadmin | Bot owner and admin management commands ($restart, $breload, $raw, $say, $bjoin, etc.) |
docs/botadmin.md |
| opme | Channel self-promotion command for authorized users ($promoteme) |
docs/opme.md |
| autoop | Automatic mode granting (+o, +h, +v) on join for configured users |
docs/autoop.md |
| autovoice | Activity-based auto-voicing (+v) after 50 messages, with idle voice removal |
docs/autovoice.md |
| join | Owner command to make the bot join public or key-protected channels | docs/join.md |
| Plugin | Description | Docs |
|---|---|---|
| weather | PirateWeather forecasts, 8-day extended views, weather alerts, and space weather | docs/weather.md |
| stock | Stock market lookups by ticker symbol or company name via Yahoo Finance | docs/stock.md |
| voting | Multi-option timed channel polls with visual progress bars | docs/voting.md |
| monitor | Per-channel chatter statistics (lines, words, actions, kicks, joins, parts) | docs/monitor.md |
| wiki | Search Grokepedia and Wikipedia directly from IRC | docs/wiki.md |
| quote | Save and search channel quote database | docs/quote.md |
| rizonhelp | Quick Rizon IRC network help topics and FAQ | docs/rizonhelp.md |
| tell | Offline message storage delivered via PM when target speaks | docs/tell.md |
| seen | Track and report when a user was last seen speaking in channel | docs/seen.md |
| url_titles | Automatic webpage HTML <title> tag fetcher |
docs/url_titles.md |
| youtube_titles | Auto-detect YouTube links and display video titles and channels | docs/youtube_titles.md |
| Plugin | Description | Docs |
|---|---|---|
| markov | Markov chain chatbot that learns channel chat and generates weighted sentences | docs/markov.md |
| curse | Demolition Man-style Verbal Morality Statute profanity fine citations | docs/curse.md |
| facepalm | Auto-reaction to /me facepalms and $shrug output |
docs/facepalm.md |
| tableflip | 4-step table flip ASCII animation sequence ($flip) |
docs/tableflip.md |
| fix | Sed-style typo correction (s/find/replace/) |
docs/fix.md |
Non-plugin helper tools included in the repository:
cli_trivia.py: Command-line interactive trivia runner for testing outside IRC (python3 cli_trivia.py -i).demo_trivia.py: Demo script testing progressive hint generation, categories, and question loading.
-
Clone the repository:
git clone https://github.com/lord3nd3r/sopel-scripts.git
-
Copy scripts to your Sopel scripts directory:
cp sopel-scripts/*.py ~/.sopel/scripts/ cp sopel-scripts/questions.json ~/.sopel/scripts/
-
Install Python dependencies:
pip install sopel requests yfinance
-
Configure your bot in
default.cfg(see Configuration). -
Restart Sopel:
sopel restart
Most plugins work out of the box. For plugins requiring configuration, add settings to your Sopel .cfg file (e.g., default.cfg):
| Script | Config Section | Notes | Detailed Docs |
|---|---|---|---|
ai-multi.py |
[ai_multi] |
API keys (xAI/OpenAI) and chat backends | docs/ai-multi.md |
mug.py |
[mug_game] |
Channel toggle & game balance settings | docs/mug.md |
opme.py |
[promoteme] |
Admin permissions & mode settings | docs/opme.md |
monitor.py |
[channelstats] |
Channel list & database path | docs/monitor.md |
moo.py |
[moo] |
Counter tuning parameters | docs/moo.md |
voting.py |
[voting] |
Database path tuning | docs/voting.md |
These scripts are provided as-is for personal and community use.
Made with ❤️ for the IRC community