https://github.com/irismessage/snakeboxed
The public bot for learning Python together on Discord.
https://github.com/irismessage/snakeboxed
bot discord
Last synced: about 2 months ago
JSON representation
The public bot for learning Python together on Discord.
- Host: GitHub
- URL: https://github.com/irismessage/snakeboxed
- Owner: irismessage
- License: other
- Created: 2021-10-21T17:32:29.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-05T10:09:37.000Z (over 2 years ago)
- Last Synced: 2025-02-26T16:45:27.667Z (over 1 year ago)
- Topics: bot, discord
- Language: Python
- Homepage:
- Size: 3.08 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# snakeboxed
The public bot for learning Python together on Discord.
## Features
- Run code and get the results all in Discord
- Results as embedded Discord text file
- Accepts python files as input
- Links to Python resources
- Written in Python and released as free software, so you can learn from the source code
Work-in-progress features:
- Search the documentation for Python and Python libraries in Discord
- Accept message references as eval input
## Use Snakeboxed
The default command prefix is `?`.
To start, try `?help`. It has all the up-to-date information about using the bot.
The most important command is `?eval`.
`?eval` example:
```
?eval
print('hello world')
```

## Get Snakeboxed
### Add the public instance of the bot
https://discord.com/oauth2/authorize?client_id=900808633472933978&scope=bot&permissions=44096
### Self-host
Requires a snekbox server to self-host. Snekbox uses docker.
1. Run the snekbox server: `docker run --ipc=none --privileged -p 8060:8060 ghcr.io/python-discord/snekbox`
2. Clone the bot code: `git clone https://github.com/JMcB17/snakeboxed` `cd snakeboxed`
3. Dependencies
3.1. (Optional) Create a separate install environment for the bot's dependencies, to keep things tidy: https://docs.python.org/3/tutorial/venv.html
3.2. Install the bot's dependencies: `python3 -m pip install -r requirements.txt`
4. Create a configuration file from the template: `cp config.template.toml config.toml`
5. Create a new Discord bot account and get its login token: https://discordpy.readthedocs.io/en/stable/discord.html
6. Fill in the login token in config.toml
7. You're good to go! Run the bot with `python3 bot.py`.
## Credits
As with any programming, most of the work was done for me.
Snekbox:
https://github.com/python-discord/snekbox
Code taken from python-discord/bot under the [Expat License/MIT License](https://github.com/JMcB17/snakeboxed/blob/main/LICENSE-THIRD-PARTY):
https://github.com/python-discord/bot
https://github.com/python-discord/bot/blob/main/bot/exts/utils/snekbox.py
Someone made a bot something like this already, but I like developing my own stuff, and mine strips out the structure of the python-discord bot more, and has simple self-hosting as well as a public instance you can use.
https://github.com/HassanAbouelela/evalbot