🐍 SnekBot: Your Instant Chat Companion πŸš€

πŸ”₯ Create Your Own Bot in 5 Minutes Flat!

Why SnekBot?

  • πŸ’¨ Lightning-fast setup
  • πŸ€– Fully async and production-ready
  • 🌈 Super flexible and easy to customize
  • πŸ›‘οΈ Handles network issues like a boss

Prerequisites

  • Python 3.8+ (because we're modern like that)
  • A sense of adventure πŸ΄β€β˜ οΈ

Quick Installation Magic ✨

1. Prep Your Environment

# Ubuntu/Debian users, get ready!
sudo apt install python3 python3-venv python3-pip -y

# Create your bot's magical realm
python3 -m venv venv
source venv/bin/activate

2. Summon SnekBot

pip install git+https://molodetz.nl/retoor/snekbot.git

πŸ€– Bot Creation Wizard

import asyncio
from snekbot.bot import Bot

class CoolSnekBot(Bot):
    async def on_join(self, channel_uid):
        await self.send_message(
            channel_uid,
            "Yo! I'm here to make this chat awesome! πŸŽ‰"
        )

    async def on_message(self, sender_username, sender_nick, channel_uid, message):
        message = message.lower()
        if "hello" in message:
            await self.send_message(channel_uid, f"Hi there, {sender_nick}! πŸ‘‹")
        elif "bye" in message:
            await self.send_message(channel_uid, f"Catch you later, {sender_nick}! πŸ€™")

# Launch your bot into the wild!
bot = CoolSnekBot(
    url="wss://your-snek-instance.com/rpc.ws", 
    username="your_awesome_bot", 
    password="super_secret_password"
)
asyncio.run(bot.run())

πŸš€ Run Your Bot

python your_awesome_bot.py

Event Handlers You Can Override

  • on_join: When bot enters a channel
  • on_leave: When bot exits a channel
  • on_ping: Respond to ping messages
  • on_mention: Handle direct mentions
  • on_message: Catch and respond to general messages

πŸ’‘ Pro Tips

  • Add logging.basicConfig(level=logging.DEBUG) for detailed logs
  • The bot automatically reconnects if connection drops
  • Customize to your heart's content!

Contributing

Got cool ideas? PRs are welcome! 🀝

License

MIT - Go wild, have fun! 🎈

S
Description
The snek bot API. Use this to create a snek bot withing minutes! With nice example. The tutorial of creating a snek bot is just a few lines and a code snippet!
Readme
304 KiB
Languages
Python 98.9%
Makefile 1.1%