Discord bot list poster and stats retriever
Project description
Table of Contents
About
dbots
helps Discord bot developers group all your statistic posting needs into one poster, complete with seperate posting, and a loop to post to all services every n
seconds.
Installing
Python 3.6 or higher is required! You can install dbots by running this command:
# Linux/macOS
python3 -m pip install -U dbots
# Windows
py -3 -m pip install -U dbots
To install package from the master branch, do the following:
git clone https://github.com/dbots-pkg/dbots.py
cd dbots.py
python3 -m pip install -U
Examples
Example with client
Currently, only discord.py
is supported as a usable client. (You can use any derivative of discord.py
as long as it does not interfere with important properties used by dbots
.)
import discord
import dbots
client = discord.Client()
poster = dbots.ClientPoster(client, 'discord.py', api_keys = {
'top.gg': '…',
'discord.bots.gg': '…'
})
@client.event
async def on_ready():
print('Logged on as', client.user)
await poster.post()
# This posts to all lists every 30 minutes
# You can stop the loop with `poster.kill_loop()`
poster.start_loop()
@poster.event
async def on_auto_post(response):
print('Auto-Post:', response)
"""
You can also define the event you want to get by adding an argument to the decorator.
@poster.event('post')
async def some_function(response):
print(response)
"""
Example without client
import dbots
client_id = '1234567890'
def server_count():
return 100
def user_count():
return 100
def voice_connections():
return 0
# `server_count`, `user_count`, and `voice_connections` can either be regular functions or coroutines
poster = dbots.Poster(client_id, server_count, user_count, voice_connections, api_keys = {
'top.gg': '…',
'discord.bots.gg': '…'
})
See more examples here.
Services
Supported Services
- botlist.space
- botsfordiscord.com
- top.gg
- discord.bots.gg
- More services will be supported in a future release...
Adding Custom Services
You can add custom services by extending from the base service class (dbots.Service
) and overriding the _post
method.
Make sure to add the custom service class to the service keymap. (dbots.Service.SERVICE_KEYMAP
) An example of adding a custom service can be shown here.
Adding a custom post function
You can add a custom post event by defining on_custom_post
in the initialization of a Poster.
This function can be used when executing poster.post('custom')
and when all services are being posted to.
An example of adding a custom post function can be shown here.
Contribution
Any contribution may be useful for the package! Make sure when making issues or PRs that the issue has not been addressed yet in a past issue/PR.
Other Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dbots-1.1.2.tar.gz
.
File metadata
- Download URL: dbots-1.1.2.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57d5b16984926e2d682ed505f95b3e2fbea5fe1faf0c6219599f752808231054 |
|
MD5 | 3709ae595f5d861b2b34c3e5dc59404c |
|
BLAKE2b-256 | 8ce0dd08096c9038815f3776a9d3342d62f6dbdce041ae4ed91ae5d35c2fa870 |
File details
Details for the file dbots-1.1.2-py3-none-any.whl
.
File metadata
- Download URL: dbots-1.1.2-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15888f9039c407703c7e8b9dc1f5f6ed0d4abd0dd05fe9eacfb69746ebcca8d0 |
|
MD5 | 1ea7732949a42f21cc58bf8f2cf7ea8d |
|
BLAKE2b-256 | 402dc731ba2e518b17ddbade730bee7dd8a0e75fc1c24e9bfc28f3195001168f |