dontuserepl
Let's face it, repl.it is one of the best places to develop, test and run code. As such, it's been popular for small discord bots for a couple of years now. Many people dislike the platform for various reasons, mainly, low resources, public code, etc, and they'll tell you to stop using it, however it remains a good place to start out and try new code easily.
The most popular way to run a discord bot on repl is to create a webserver on a different thread and configure a monitor service like uptimerobot.com to ping the server every five minutes or so.
Even though this is very simple to do, i feel bored by it, that's why i wrote this simple library.
How to use it:
Making your bot 24/7 is extremely easy with dontuserepl.
- Go to https://uptimerobot.com/, open an account and login.
- Go to "My settings" and scroll to "API Settings".
- Create and copy a "Main API Key"
- Go to your repl and add the key as a secret
- Add the snippet below to your main.py file.
import os
from dontuserepl import lazy_setup
key = os.getenv('uptimerobot_api_key') # use the name of the secret from step 4
lazy_setup(key)
- That's it,
lazy_setupruns a minimal aiohttp server on port 8080 and configures a monitor for the script.
Note: The server runs on the main loop since it's fully asynchronous.
Working example
import os
from dontuserepl import lazy_setup
from discord.ext import commands
key = os.getenv('uptimerobot_api_key')
token = os.getenv('discord_token')
bot = commands.Bot(command_prefix='!')
@bot.event
async def on_ready():
print(f'logged in as "{bot.user.name}"')
@bot.command()
async def ping(ctx):
await ctx.send('pong')
lazy_setup(key) # don't forget to call this *before* running the bot
bot.run(token)
todo:
- Upload to pypi
- Documentation
- Better error handling
Metadata
Release files for dontuserepl 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dontuserepl-0.1.5.tar.gz | 4.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dontuserepl-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.7 kB
Release files / dontuserepl-0.1.5.tar.gz
| Download URL | dontuserepl-0.1.5.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
603175f3b16ba675d096f71d7c8f1a74db1516130143a93ccbe81658e19b7752
|
|
BLAKE2b-256 checksum How to use checksums |
069c916919aeeeecb7efad9c47f323cdfab602e22fbf0aff6aefafeb4dd46f47
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.8 CPython/3.9.6 Windows/10
|
Release files / dontuserepl-0.1.5-py3-none-any.whl
| Download URL | dontuserepl-0.1.5-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
717b324d6f991a557da3429d12a2e6e9306f6ce38196abd6fea9aed923838c94
|
|
BLAKE2b-256 checksum How to use checksums |
84ac5a7efe08ca1a5f932cfc4959e6dfb5577b0a6cda9f3c36c07f8e65cd9107
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.8 CPython/3.9.6 Windows/10
|