Git Product home page Git Product logo

takane's Introduction

Takane

Takane

Takane is a lightweight administrative bot that alleviates the strain on simple admin and officer tasks for a Discord Guild.
Currently Takane is in alpha, so she's still considered bleeding edge. This code is to provide transparency and collaboration.

Takane was originally a small side project, started from the burden of managing a Guild on discord along with special role-specific mentions.

Currently, Takane has a few extra features that are implemented, along with some in the works.

  • Granblue Fantasy Stickers - use !stamp [id] and insert the stickers into your conversations!
  • Admin-level management - Allow certain selected users to add/restrict commands and roles, without editing any configs.

Installation

These instructions assume that the Python3 install can be invoked using python. Adjust these instructions as necessary.

  1. Clone the repository: git clone [email protected]:jopika/Takane.git
  2. Install the required python packages: pip install -r requirements.txt
  3. Create a bot through Discord: found here
  4. Add the bot to your server using this link, replacing "<CLIENTID>" with the client ID gotten from the bot's page: https://discordapp.com/oauth2/authorize?client_id=<CLIENTID>&scope=bot
  5. Run Takane: python discordBot.py
  6. Follow the rest of the instructions onscreen!

Disclaimer

Takane is still in alpha, and is in-progress. Users beware.

takane's People

Contributors

jopika avatar

Watchers

 avatar  avatar

takane's Issues

Add a command that Broadcasts strike times (and update them)

Add a command that allows admins to schedule strike time announcements to let the bot mention them automatically when the time is.

NOTE: All times and Dates should be in JST

!AddStrikeTime [date] [time] [name=""] - Adds strike time announcement on [date] at [time] with an optional name for the strike time
!AddRepeatingStrikeTime [time] [name=""] - Adds strike time announcement that repeats at [time] every day with an optional name for the strike time
!ListStrikeTime - Lists the strike times (/dates) and if they are repeating or not
!NextStrikeTime - Prints the next strike time, and how long it is until
!RemoveStrikeTime [name] - Removes the strike time from the announcement queue 

Server Permissions not being checked

Takane will not check if she has any permissions to execute the command on the sever.

This leads to issues with verifying if the command was successful or not, and the user is not informed that an error has occurred due to the command.

Introduce NLP

Plenty of APIs such as Dialogflow that offer free NLP chat services.

Integrating @takane mentions to the service would be an interesting idea.

Takane responds with messages with just exclamation marks

The bot currently replies to clearly invalid commands, that might be simply conversational text.

Bot should detect these commands and not reply. as it may flood the chat with bot messages.

[8:32 PM] User: !  
[8:32 PM] [BOT] Takane: Invalid command, use !help for list of commands

Add verbosity to bot actions

Takane currently does not inform the user that an action has been preformed, so users have to manually verify something has occurred.

Add a version command

Add a version command that prints out the current version of the bot.

  • This will be useful for administration purposes

Add commands to allow and restrict roles

Create commands that would allow the modification of the whitelist/blacklist roles while the bot is still live.

!allowrole [role] - Allows the role to be modified by the !addrole and !removerole command
!restrictrole [role] - Restricts the role to be modified by the !addrole and !removerole command

Add alias commands

Allow users to add aliases to certain other commands.

!addalias [alias mapping]
!removealias [alias]

Add a time command

Add a time command (!time) that prints out the time currently in Japan

Transition off of a YAML datastore

YAML stores are inefficient and require loading into memory, taking valuable resources.

Transitioning off of YAML data storage will allow for more flexible information storage and less memory consumption.

Add time annoucement command

Add a command that will make an announcement at a certain time, with a custom message.

ex.
!alarm 1200 Strike Time!

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.