Coder Social home page Coder Social logo

thedescend / elevatorbot Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 3.0 14.11 MB

Interacting with the Destiny 2 API via Discord

Home Page: https://elevatorbot.ch/

License: Other

Python 87.52% Dockerfile 0.23% CSS 0.01% JavaScript 12.18% Shell 0.02% Mako 0.04%
discord discord-bot destiny2 bungie python nextjs tailwindcss fastapi bot naff

elevatorbot's Introduction

Release Python Black Formatted Backend Test Pre-Commit Discord Website

ElevatorBot Logo


ElevatorBot



@ElevatorBot#7635 is a modern and open source discord bot that can be used to interact with the Destiny 2 API. He was originally created at the start of 2018 because of a desire to access information not provided by the existing Destiny 2 bot, Charlemange. He has greatly expanded in scope since then.

ElevatorBot is mostly written in Python using N.A.F.F, FastApi and PostgreSQL. The website is written in JavaScript using Next.js and tailwindcss. He has explicit support for modern discord features such as slash commands, components, context menus and modals.

Features

-[x] Clan Management (Invite / Kick) -[x] LFG System with calendar integration -[x] LFG supportive features like a context menu to receive bungie names -[x] Deeply customisable achievement roles -[x] Over 30 Destiny 2 commands ranging from stats for all weapons and activities to clan rankings -[x] Much, much more...

Contributing

Contributors are always welcome! If you have any question and don't know where to start, don't hesitate to contact us on GitHub or discord (Kigstn#9278).

Self-Hosting Guide

Everyone can host this bot for themselves. To set him up, follow this quick installation guide.

Note: It is recommended to simply invite the official discord bot.

  1. Download and extract the latest release
  2. Install docker
  3. Install docker-compose
  4. Rename rename_to_settings.toml to settings.toml
  5. Fill out settings.toml
  6. Run docker-compose up --build

Optional: ElevatorBot sometimes uses discord emojis. Since you are not in the server where the emojis are from, these will display as IDs for you. If you want to change that, you need to change the IDs in /ElevatorBot/static/emojis.py.

Security

Make sure to change the default passwords in settings.toml. If you decide to add ports to the docker-compose.yml be aware that docker will try to publish them externally, whether your firewall allows it or not.

elevatorbot's People

Contributors

dependabot[bot] avatar exiledmender avatar haligaliman avatar kigstn avatar lukasschmid97 avatar luschmi avatar neria13 avatar pre-commit-ci[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

elevatorbot's Issues

Make sure Elevator can run in multiple guilds

  • Remove hardcoding
  • Add command to setup bot (admin roles, lfg channel, bot-command channel etc)
  • Create Database Table to save configurations per guild
  • Link guild to destiny clan
  • Decide which functions should be accessbile where

Giveaway feature

Replacing the !rollraction command for (Nitro) giveaways.

  • Slash command to create a giveaway message
  • Enter the time range for when it ends
  • Specify the emote to react with
  • Make the bot auto-draw when the time ends (default roll: 1)
  • Make requirements (that admins can possibly adapt?): role(s), clan activity, discord activity (default: @Descend role, at least 10 messages in the past month on Discord (excl. #bot-spam), have done at least one activity with any other clan member)

Save / generate metrics

Some examples include:

  • command usage
  • network request
  • database request
  • most active guild

etc.

  • Maybe a web dashboard?

Revamp everything concerning roles

  • roles get added /edited / removed via a Web Inferface
  • roles get linked to discord roles by id / name - verification that the role exists would be cool (maybe db table which has all roles in every guild and updated them on change)
  • need Auth for that
  • roles get saved in a per guild basis
  • roles get looked up only on role edit / add / new member
  • daily role check gets updated to only check not earned roles daily

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.