Update.
This commit is contained in:
parent
25a5eca313
commit
1857f18d3d
76
README.md
76
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.
|
Loadingβ¦
Reference in New Issue
Block a user