diff --git a/README.md b/README.md index 6f09336..07a3360 100644 --- a/README.md +++ b/README.md @@ -1,83 +1,81 @@ -# 🐍 SnekBot: Your Instant Chat Companion 🚀 +# SnekBot: Your Instant Chat Companion -## 🔥 Create Your Own Bot in 5 Minutes Flat! +## Create Your Own Bot in Minutes -### Why SnekBot? -- 💨 Lightning-fast setup -- 🤖 Fully async and production-ready -- 🌈 Super flexible and easy to customize -- 🛡️ Handles network issues like a boss +### Overview +SnekBot is designed for rapid deployment and customization, providing a fully asynchronous and production-ready chat bot solution. It is built to handle network issues effectively, ensuring a reliable user experience. ### Prerequisites -- Python 3.8+ (because we're modern like that) -- A sense of adventure 🏴‍☠️ +- Python 3.8 or higher +- Basic understanding of Python programming -### Quick Installation Magic ✨ +### Installation Instructions -#### 1. Prep Your Environment +#### 1. Prepare Your Environment ```bash -# Ubuntu/Debian users, get ready! +# For Ubuntu/Debian users: sudo apt install python3 python3-venv python3-pip -y -# Create your bot's magical realm +# Create a virtual environment for your bot python3 -m venv venv source venv/bin/activate ``` -#### 2. Summon SnekBot +#### 2. Install SnekBot ```bash pip install git+https://molodetz.nl/retoor/snekbot.git ``` -### 🤖 Bot Creation Wizard +### Bot Development +To create your bot, use the following template: ```python import asyncio from snekbot.bot import Bot -class CoolSnekBot(Bot): +class CustomSnekBot(Bot): async def on_join(self, channel_uid): await self.send_message( channel_uid, - "Yo! I'm here to make this chat awesome! 🎉" + "Hello! I am here to assist you." ) 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}! 👋") + await self.send_message(channel_uid, f"Greetings, {sender_nick}!") elif "bye" in message: - await self.send_message(channel_uid, f"Catch you later, {sender_nick}! 🤙") + await self.send_message(channel_uid, f"Goodbye, {sender_nick}!") -# Launch your bot into the wild! -bot = CoolSnekBot( +# Initialize your bot +bot = CustomSnekBot( url="wss://your-snek-instance.com/rpc.ws", - username="your_awesome_bot", - password="super_secret_password" + username="your_bot_username", + password="your_secure_password" ) asyncio.run(bot.run()) ``` -### 🚀 Run Your Bot +### Running Your Bot ```bash -python your_awesome_bot.py +python your_bot_script.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 +### Event Handlers +You can override the following event handlers: +- `on_join`: Triggered when the bot joins a channel +- `on_leave`: Triggered when the bot leaves a channel +- `on_ping`: Responds to ping messages +- `on_mention`: Handles direct mentions +- `on_message`: Processes incoming 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! +### Additional Information +- For detailed logging, include `logging.basicConfig(level=logging.DEBUG)` in your code. +- The bot is designed to automatically reconnect in case of connection drops. +- Feel free to customize the bot to meet your specific requirements. -### Contributing -Got cool ideas? PRs are welcome! 🤝 +### Contribution Guidelines +Contributions are welcome. Please submit pull requests for any enhancements or bug fixes. ### License -MIT - Go wild, have fun! 🎈 - +This project is licensed under the MIT License. \ No newline at end of file