/MML

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

Geekbot

Description


A bot framework for discord built on DiscordPHP for easier bot development

We are Restructuring parts of the code currently to create new features, some code or all of it may not work on certain commits.

Features and ToDo

Features for Developers
  • Commands as Modules
  • Built-in Database
  • Documentation
  • Message recording and level system
  • Api Wrapper for easier and more intuitive development
  • Permission Wrapper for easy command permission handling
  • easy to read and well documented and easy extensible config file
  • automatic help command
  • async based on the promises system
  • parent and child commands
  • RESTful API
  • Installation Script
Features for Users (includes base commands)
  • Prefix System to avoid collision with other bots
  • kick and ban users
  • all commands work in direct messages
  • level system, look how many images you or someone else has written
  • automatic reactions to certain words
  • Look up someones overwatch stats
  • a pokedex
  • search for youtube videos
  • get images from several image boards like konachan and gelbooru
  • get a random image from 4chan or from a specified board
  • look up anime information from myanime list
  • count how many bad jokes someone made
  • get random cat images together with an unrelated cat fact
  • get a fortune from a database with over 9000 fortunes
  • 8ball
  • throw a coin or a dice
  • lots of other commands
  • web interface for easy bot management

How to use


For a full guide please refer to Docs/Setup.md

Starting the bot
  1. git clone https://github.com/runebaas/geekbot
  2. cd geekbot
  3. composer install
  4. cp .env.example .env
  5. fill out the .env file
  6. php run.php
adding modules

Just drop the modules in the Commands/modules folder and geekbot will automatically load them, no configuration required

The default modules are in another repository, you can get them here

Documentation


The Documentation can be found in the docs folder | Outdated *

The Code itself is also pretty well documentated and there are a lot of different example modules here

* Even though the docs are outdated because of the current code restructuring, most of it should still give you a general idea of how everything works

Contributing


Everyone is welcome to contribute!

Make a pull request whenever you want to and we'll review it

Credits


License


Geekbot is open for everyone under the GNU Public License v3