Python
A simple Python API wrapper

This wrapper is intended to function within a discord.py client object and will not function correctly outside of one. More features and functionality will be added going forward

pip install discordspy
The project's github can be found here, while it's pypi page can be found here

  • Server count posting
  • Built-in automatic & interval server count posting
  • Built-in voting webhook handler
  • Voting & server posting events

Auto posting posts the server count whenever the bot is added to/removed from a server, while still abiding with our ratelimits. This example also includes an on server post event.
from discord.ext import commands
import discordspy
bot = commands.Bot("!")
discords = discordspy.Client(bot, DISCORDS_TOKEN, post=discordspy.Post.auto())
@bot.event
async def on_discords_server_post(status):
if status == 200:
print("Posted the server count:", discords.servers())
bot.run(TOKEN)

Interval posting posts the server count at regular specified intervals, by default it is set to 30 minutes. This example also includes an on server post event.
from discord.ext import commands
import discordspy
bot = commands.Bot("!")
post = discordspy.Post.interval(minutes=30, hours=1)
discords = discordspy.Client(bot, DISCORDS_TOKEN, post=post)
@bot.event
async def on_discords_server_post(status):
if status == 200:
print("Posted the server count:", discords.servers())
bot.run(TOKEN)

Setting up webhooks, along with an event to recieve them
IMPORTANT: Your webhook url must end with /discordswebhook if you wish to use a different path, please specify it using the path argument inside the webhook method path="/customwebhook",
IMPORTANT: To recieve webhooks you must have set up port forwarding and specified the port in the webhook section on your bot page, by default the port is 8080
from discord.ext import commands
import discordspy
bot = commands.Bot("!")
discords = discordspy.Client(bot, DISCORDS_TOKEN)
discords.webhook(port=6969, auth="password")
@bot.event
async def on_discords_vote(data):
print("Recieved a vote")
bot.run(TOKEN)

Using all the features within a cog
from discord.ext import commands
import discordspy
class discords_cog(commands.Cog):
def __init__(self, bot):
self.discords = discordspy.Client(bot, DISCORDS_TOKEN)
self.discords.webhook(port=6969, auth="password")
@commands.command()
def postservers(self, ctx):
self.discords.post_servers()
@commands.Cog.listener()
async def on_discords_server_post(self, status):
log_channel = self.bot.get_channel(LOG_CHANNEL_ID)
if status == 200:
await log_channel.send("Posted the server count")
else:
await log_channel.send("Failed to post the server count")
@commands.Cog.listener()
async def on_discords_vote(self, data):
print("Recieved a vote")
def setup(bot):
bot.add_cog(discords_cog(bot))
Copy link
On this page
Notice
Installation
Features
Examples
Auto posting servers
Interval posting servers
Webhook voting event
Cog example