Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/botblock/discordlists.py
A simple API wrapper for botblock.org providing server count posting to all bot lists and fetching bot information from all. [Python - maintained by @MattIPv4]
https://github.com/botblock/discordlists.py
api api-client api-wrapper discord discord-api discord-bot discord-py discordapp discordbot python python-3 python-library python-module python3 statistics stats stats-api wrapper wrapper-api wrapper-library
Last synced: about 11 hours ago
JSON representation
A simple API wrapper for botblock.org providing server count posting to all bot lists and fetching bot information from all. [Python - maintained by @MattIPv4]
- Host: GitHub
- URL: https://github.com/botblock/discordlists.py
- Owner: botblock
- License: mit
- Created: 2018-08-22T20:20:27.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-24T17:53:45.000Z (almost 5 years ago)
- Last Synced: 2024-09-21T18:26:06.633Z (4 days ago)
- Topics: api, api-client, api-wrapper, discord, discord-api, discord-bot, discord-py, discordapp, discordbot, python, python-3, python-library, python-module, python3, statistics, stats, stats-api, wrapper, wrapper-api, wrapper-library
- Language: Python
- Homepage: https://botblock.org/api/docs
- Size: 26.4 KB
- Stars: 8
- Watchers: 3
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
discordlists.pyA simple API wrapper for botblock.org providing server count posting to all bot lists and fetching bot information from all.
----
## Installation
Install via pip (recommended)
```Shell
python3 -m pip install discordlists.py -U
```## Features
* POST server count
* AUTOMATIC server count updating
* ALL bot lists' APIs included
* GET bot information from all bot lists and Discord## Example Discord.py Cogs
### Posting Server Count
```Python
from discord.ext import commandsimport discordlists
class DiscordListsPost(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.api = discordlists.Client(self.bot) # Create a Client instance
self.api.set_auth("bots.ondiscord.xyz", "dsag38_auth_token_fda6gs") # Set authorisation token for a bot list
self.api.set_auth("discordbots.group", "qos56a_auth_token_gfd8g6") # Set authorisation token for a bot list
self.api.start_loop() # Posts the server count automatically every 30 minutes@commands.command()
async def post(self, ctx: commands.Context):
"""
Manually posts guild count using discordlists.py (BotBlock)
"""
try:
result = await self.api.post_count()
except Exception as e:
await ctx.send("Request failed: `{}`".format(e))
returnawait ctx.send("Successfully manually posted server count ({:,}) to {:,} lists."
"\nFailed to post server count to {:,} lists.".format(self.api.server_count,
len(result["success"].keys()),
len(result["failure"].keys())))def setup(bot):
bot.add_cog(DiscordListsPost(bot))```
### Getting Bot Info
```Python
from discord.ext import commandsimport discordlists
class DiscordListsGet(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.api = discordlists.Client(self.bot) # Create a Client instance@commands.command()
async def get(self, ctx: commands.Context, bot_id: int = None):
"""
Gets a bot using discordlists.py (BotBlock)
"""
if bot_id is None:
bot_id = self.bot.user.id
try:
result = (await self.api.get_bot_info(bot_id))[1]
except Exception as e:
await ctx.send("Request failed: `{}`".format(e))
returnawait ctx.send("Bot: {}#{} ({})\nOwners: {}\nServer Count: {}".format(
result['username'], result['discriminator'], result['id'],
", ".join(result['owners']) if result['owners'] else "Unknown",
"{:,}".format(result['server_count']) if result['server_count'] else "Unknown"
))def setup(bot):
bot.add_cog(DiscordListsGet(bot))```
## Contributing
Contributions are always welcome to this project!\
Take a look at any existing issues on this repository for starting places to help contribute towards, or simply create your own new contribution to the project.Please make sure to follow the existing standards within the project such as code styles, naming conventions and commenting/documentation.
When you are ready, simply create a pull request for your contribution and I will review it whenever I can!
### Donating
You can also help me and the project out by sponsoring me through [GitHub Sponsors](https://github.com/users/MattIPv4/sponsorship) (preferred), contributing through a [donation on PayPal](http://paypal.mattcowley.co.uk/) or by supporting me monthly on my [Patreon page](http://patreon.mattcowley.co.uk/).
## Discussion, Support and Issues
Need support with this project, have found an issue or want to chat with others about contributing to the project?
> Please check the project's issues page first for support & bugs!Not found what you need here?
* If you have an issue, please create a GitHub issue here to report the situation, include as much detail as you can!
* _or,_ You can join our Slack workspace to discuss any issue, to get support for the project or to chat with contributors and myself: