2018-06-21 00:51:36 +02:00
2018-06-21 00:51:36 +02:00
2018-06-20 02:19:13 +02:00

Akuma Matata

A Discord Bot written in Python using the Rewrite API wrapper

Getting Started

Prerequisites

  • Python 3.6
  • Discord Rewrite API Wrapper
You can get the Wrapper with pip:

python -m pip install -U https://github.com/Rapptz/discord.py/archive/rewrite.zip

Depending on your OS and environment you need to type python3 or another equivalent instead of python

Initial setup

  1. Go to your Discord's App Overview and create a new app.
  2. Scroll down and "Create a Bot User"
  3. Reveal and copy Token of your new Bot
  4. Open settings.json and paste your Token into the quotes after "token":
  5. Open Discord, enable Developer Mode (Settings > Appearance) and copy your own ID
  6. Open settings.json and paste your ID into the quotes after "maintainer":
  7. Start the Bot (see below)
  8. Go to your Discord's App Overview again and open the Bot
  9. Click on "Generate OAuth2 URL" and give the bot Administrator Bot Permissions
  10. Open the generated URL and add the Bot to your Server

Start the Bot

Just open a console and type python akuma.py

Depending on your OS and environment you need to type python3 or another equivalent instead of python

Configuration

In your bot folder are two configuration files: settings.json and server.json.

settings.json
  • token

The bot token your bot is using.

  • prefix

The bot needs a prefix to distinguish messages adressed to him.

  • description

A description of the bot, printed when calling help.

  • game

Sets the "Playing" message of your bot, placed after a help command

  • extensions

A list of all extensions the bot will automatically load after starting. You can add more members either manually or by passing True as second argument to load <ext>

  • maintainer

ID of the user with privileges to maintain the bot. Only this user can load, unload and reload extensions.

server.json

You can either edit this file manually or use the respective moderation commands.

As soon as the bot joins a server, it will fill server.json automatically with an dictionary identified by the server ID with the following keys:

  • adminRole

Everyone with the given role has the permissions to run admin commands of the bot

  • modRole

Everyone with the given role has the permissions to run mod commands of the bot

  • joinMessage

A Message every user gets when he joins your server.

  • suggestionChannel

A designated channel for the bot's suggest function. See help suggest for more informations

  • modChannel

A channel the bot is using for logging moderation commands.

Add your own extensions

It is easy to create a new extension on your own. First you need to create a new python file in the "extensions" folder.

You'll need this code in the newly created file:

class Name():
    def __init__(self, bot):
        self.bot = bot

#Setup
def setup(bot):
    bot.add_cog(Name(bot))

Just replace "Name" in Line 1 and 6 by an own class name. A new command needs to be a member of this class.

Instead of using @bot.command() you'll need to use @commands.command().

The first argument of a method needs to be self.

An Example:
from discord.ext import commands

class PingPong():
    def __init__(self, bot):
        self.bot = bot
        
    @commands.command()
    async def ping(self, ctx):
    	await ctx.send("Pong")

#Setup
def setup(bot):
    bot.add_cog(PingPong(bot))

License

This project is licensed under the MIT License - see the LICENSE file for details

Description
A Discord Bot written in Python using the Rewrite API wrapper
Readme MIT 84 KiB
Languages
Python 100%