Coder Social home page Coder Social logo

cmoen11 / buffbot Goto Github PK

View Code? Open in Web Editor NEW
5.0 7.0 3.0 710 KB

Let BuffBot enter your Discord channel and play your favorite tunes along with your friends.

License: GNU General Public License v3.0

Python 98.87% Dockerfile 1.13%
discord-bot discord-music-bot discordjs chatbot youtube-music-player discord-channel-manager coins discord-gamling

buffbot's People

Contributors

chinatsu avatar cmoen11 avatar erlendthorvik avatar martinnenseth avatar zhiftie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

buffbot's Issues

Achievements!

  • You can get streaks, cross a 100 hours played, been online and active continuously for 24 hours in one go or other feats of strength.
  • Achievements gives a small currency reward and is listed in !achievements. Stored in DB

Betting

  • stein, saks, papir
  • Poker
  • Rull terning

Queue fix

Long story short
When a song in the queue is done (finished playing), the next one does not start automatically
Expected behaviour
Start next song in queue.
Actual Behaviour
Song nr.1 in the queue plays, finishes, and song nr. 2 does not automatically start.
Steps to reproduce

  1. !play "youtube-url"
  2. !queue "youtube-url"
    Your enviroment
    W10, Python 3.6

Make server owners dynamic

server owners is currently staticly defined in botconfig.init_.py. It should get the owners dynamicly by getting the role server admins.

Queuing songs

Instead of overriding the song being currently played, it would be nice if the bot queuing it instead, so that the current song would not get interuppted.

Notifications

  • Notify when different events happen to let the other players know.
  • Ex: "Buffman entered hearthstone", "Helgeir is now a buffboy", "Even got the ehhh. achievement"

Command Logger

  • Log every command done by a user
  • Enable for future development with achievement.

Channel Management

  • Flytte spillere basert på hva de spiller.
  • Sette botten til å kaste ut folk som ikke spiller spill x.

Separate bot talk from general member talks.

Since the bot may be spamming for others, there is a need for sorting out some bot talk into other text-channels.

  • Create response methods inside of global_metods for chatting in different genre's.
  • Refactor existing commads and map to methods that are created in global_methods

Documentation

WikiPages to create:

Structure of each Wiki page:

  • What feature. Description

  • How the feature is implemented.

  • Feature dependent; Why the feature is implemented.

Example;

https://github.com/Cmoen11/BuffBot/wiki/BuffBot-Currency

The actual implementetion of the feature should be referenced and linked in the wiki page.

Server tax

  • Tar en fiksert andel av alle transaksjoner, og legger andelen i felleskassa.

  • Felleskassa kan brukes til så mangt, f.eks. dele ut sykepenger(egen modul)

  • Formueskatt. INGEN SKAL VÆRE SUPERRIKE

Gaming currency

For every hour a channel participant plays a game, she or he get a coin. This coin they may use either in the casino or to win the music poll.

Gambling game

**Dice roll
**
**
Rock paper scissors
**
**
Poker
**
**
Lotto
**

Love command

  • Based on who has referenced whom in the chat
  • Returns percentage of love

Donate coins

I would like to have a "!donate <@username> " command.

getChannelFlags

In order to see what flags a channel currently has, it would be nice to have a "!getChannelFlags" command.

This querry is already implemented in database.py.

Music player poll

The streaming of youtube videoes is already great, however, would it not be better if the channel's members could vote on which song they would like to hear next?
This would surely make it more pleasing for everyone in the channel that doesn't spam their favorite songs.

This functionality could be great if it were combined with Queuing songs

Put the bot online

  • Let users click "add bot to server" and the rest is automatic, if possible.
  • Docker? Multi-instancing

Song queue display

It would be great with a function to be able for end users to lookup to see what songs that are currently in queue.

This is a enhancement for music queue function.

Refactor tax

Store variables used by several classes in a database table in order to change these and make use of them during runtime

Currency v3

  • Use currency to buy access to higher ranks on the server (limited)
  • Use currency to buy access to fancier (spammier) commands

Currency DB fix

Long story short
...
Expected behaviour
...
Actual Behaviour
...
Steps to reproduce
...
Your enviroment
OS, ptyhon version and more if neccesarily

Unit testing

A team will be designated for this task, where the teams responsibility is to create unit tests for the entire core code. These unit tests should also include testing of all the available database related functions.

Edit; The unit testing of all the bots will be evaluated wheter they are needed or not, and moved to next release if they are needed.

Basic commands

Commands

  • smug
  • 8ball
  • bye
  • doStuff
  • math
  • smugadd
  • whoIsTheBuffest

More sounds

  • Play fancy ass sound effects when achievements or other events happens.
  • Think the likes of halo 3's "Killionaire", "killtacular" only applicable to current server. can be specified in online management tool.

global_methods - permissions

Long story short
image

Expected behaviour
Command execution

Actual Behaviour
AttributeError: 'User' object has no attribute 'server_permissions'

Steps to reproduce
Call a command that checks if not global_methods.is_admin(ctx.message.author):
await self.bot.say("You're not a big boy")
return None`

Your enviroment
W10, Python 3.6

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.