The self-improvement discord bot.

Overview

ASI-DiscordBot

The self-improvement Discord bot. The first service of the Adonis Self-improvement project, allowing users to keep track of their self-improvement progress through a Discord bot.

Discord GitHub commits GitHub commits

Tech

  • DiscordJS NodeJS module to interact with Discord's API
  • Node.js JavaScript runtime
  • NPM Package manager for Node.js
  • Docker Containerization platform
  • guidebot Boilerplate example Discord bot

Potential

  • Mongoose.js An Object Data Modeling (ODM) library for MongoDB and Node.js

Requirements

  • git command line (Windows | Linux | MacOS) installed
  • node Version 16.x
  • The node-gyp build tools. This is a pre-requisite for Enmap, but also for a lot of other modules. See The Enmap Guide for details and requirements for your OS. Just follow what's in the tabbed block only, then come back here!

You also need your bot's token. This is obtained by creating an application at the Discord developer section. Check the first section of this page for more info.

Installation

Create a folder within your projects directory and run the following inside it:

git clone https://github.com/Adonis-Self-Improvement/ASI-DiscordBot.git

Once finished:

  • In the folder from where you ran the git command, run npm install, which will install the required packages.
  • Rename config.js.example to config.js, and give it the required intents and any partials you may require.
  • Rename .env-example to .env and put in your bot token in it and save.

Starting the bot

To start the bot, in the command prompt, run the following command: node index.js

Contributing

Read up on GitHub flow for instructions on code contribution.

Setting up a development environment

Read Installation to get started.

This project uses Eslint for code formatting. Install it here and run it before making a pull request with your changes.
You can run Eslint via npx eslint --fix ..

Build the Docker image

To be written

Comments
  • large numbers converted to k notation

    large numbers converted to k notation

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests:

    Semantic versioning classification:

    • [x] This PR changes the framework's interface (methods or parameters added)
      • [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [ ] This PR only includes non-code changes, like changes to README, etc.

    In this PR I coded a function to change large numbers to a K notation (69420 = 69.4k) and removed duplicate stats on /bot command (like servers and total servers) #103

    Some changes influenced by discord are there like:

    putting the deploy command functionality in ready.js. Why? Because when trying to setup I needed to /deploy to show all slash commands... but I didn't have any slash commands to use /deploy checking if some value is undefined in a file I forgot

    opened by Gamsti1337 7
  • Add task list

    Add task list

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests: This PR adds a sample task list command, allowing users to view and edit the state of tasks related to the skills they've started. This PR also removes ambiguity from field names in the skill struct, as well as adds extra documentation for them. Semantic versioning classification:

    • [x] This PR changes the framework's interface (methods or parameters added)
      • [x] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [ ] This PR only includes non-code changes, like changes to README, etc.
    enhancement 
    opened by vlyr 6
  • Delete Yarn lockfile

    Delete Yarn lockfile

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests: This PR aims to delete Yarn's lockfile from the codebase. As Yarn is not used with this project, it's fine to delete it. Yarn's lockfile can also cause useless merge conflicts during PRs, which must be resolved manually.
    Semantic versioning classification:

    • [ ] This PR changes the framework's interface (methods or parameters added)
      • [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [x] This PR only includes non-code changes, like changes to README, etc.
    enhancement 
    opened by vlyr 4
  • Weekly report

    Weekly report

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests:

    Weekly report fully works with error handling at every stage

    Semantic versioning classification:

    • [x] This PR changes the framework's interface (methods or parameters added)
      • [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [ ] This PR only includes non-code changes, like changes to README, etc.
    enhancement 
    opened by seanjhardy 3
  • Skill tree command

    Skill tree command

    • Must be able to view tree and figure out a way to let the user jump around easily (it shouldn't take 6 clicks to reach Fitness VI etc. Just think of a suitable format and make it work
    enhancement 
    opened by seanjhardy 3
  • /bot output a little changed, all functions to arrow functions

    /bot output a little changed, all functions to arrow functions

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests:

    Semantic versioning classification:

    • [x] This PR changes the framework's interface (methods or parameters added)
      • [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [ ] This PR only includes non-code changes, like changes to README, etc.

    On /bot now users are called registered users Instead of client.cache.whatever changed to totalGuilds All functions are now arrow functions

    opened by Gamsti1337 2
  • Potential fix for cron error

    Potential fix for cron error

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests: This is a potential fix to #82

    I reviewed the cron config and found a potential error in it. I removed the date checking code and replaced it with some that changes the cron time to GMT + 12 and then checks every hour from sunday 12AM to Monday 12AM. This will make sure that it runs at every possible hour on Sunday.

    Semantic versioning classification: ???

    • [ ] This PR changes the framework's interface (methods or parameters added)
      • [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [ ] This PR only includes non-code changes, like changes to README, etc.
    opened by iJynx 2
  • Server setup command to specify the channel to send weekly reports

    Server setup command to specify the channel to send weekly reports

    Is your feature request related to a problem? Please describe. Where will we send weekly reports in servers?

    Describe the solution you'd like Simple setup command for server admins to determine where bot messages will be sent

    enhancement 
    opened by seanjhardy 2
  • Api

    Api

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests:

    Semantic versioning classification:

    • [x] This PR changes the framework's interface (methods or parameters added)
      • [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [ ] This PR only includes non-code changes, like changes to README, etc.
    enhancement 
    opened by seanjhardy 2
  • Yarn or NPM?

    Yarn or NPM?

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] We have two lockfiles on the repository, Updating with NPM changes Yarn's lockfile as well, causing conflicts that must be solved manually.

    Describe the solution you'd like A clear and concise description of what you want to happen. A decision on which one package manager we start using.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. N/A

    Additional context Add any other context or screenshots about the feature request here. N/A

    enhancement 
    opened by vlyr 2
  • Swipeable interface

    Swipeable interface

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests:

    Semantic versioning classification:

    • [x] This PR changes the framework's interface (methods or parameters added)
      • [x] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [ ] This PR only includes non-code changes, like changes to README, etc.
    enhancement 
    opened by seanjhardy 2
  • Bug fixes

    Bug fixes

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests:

    Semantic versioning classification:

    • [ ] This PR changes the framework's interface (methods or parameters added)
      • [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [ ] This PR only includes non-code changes, like changes to README, etc.
    opened by seanjhardy 0
  • Update TERMS_OF_SERVICE.md

    Update TERMS_OF_SERVICE.md

    Please describe the changes this PR makes and why it should be merged, as well as any and all proof of successful tests:

    Semantic versioning classification:

    • [ ] This PR changes the framework's interface (methods or parameters added)
      • [ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
    • [x] This PR only includes non-code changes, like changes to README, etc.
    opened by seanjhardy 0
Owner
Adonis Self-Improvement ORG
Adonis Self-Improvement ORG
Discord-Bot - You can use the discord bot codes that are updated in every video of the codes I use in the discord bot making series that I have published on my youtube channel.

Discord-Bot You can use the discord bot codes that are updated in every video of the codes I use in the discord bot making series that I have publishe

Umut Bayraktar 114 Jan 3, 2023
A multipurpose bot, a clan bot, a all in one bot. The one bot u need for ur server originally made as Milrato discord Bot and by Tomato6966.

Public Bot and Support Server! Invite the Public Version of this Bot so you don't need to host it by yourself or join my Discord server to get a custo

Tomato6966 472 Dec 25, 2022
Gitlift Discord Bot is a discord bot which is listening Discord Messages to reply with user gitlift profile and total contributions.

Remoklify - Gitlift Discord Bot Gitlift Discord Bot is a discord bot which is listening Discord Messages to reply with user gitlift profile and total

Remoklify 3 Mar 20, 2022
About Discord bot draft that does not contain ready-made commands, compatible with discord.js v14. Create your own discord bot with this command handler.

discordJS-V14 About Discord bot draft that does not contain ready-made commands, compatible with discord.js v14. Create your own discord bot with this

Umut Bayraktar 36 Dec 28, 2022
A Discord bot designed for taking self-hosted media server requests from users

Jellybot A Discord bot designed for taking self-hosted media server requests from users What's it for? If you're coming across this, you probably have

null 2 Mar 25, 2022
Self-Hosted Discord Bot to onboard users, protect users, and gamify entertainment & engagement.

Self-Hosted Open-Source Discord Bot to onboard & protect community members. It gamifies user entertainment & engagement. Usage Clone using: git clone

Accretence 4 Sep 8, 2022
A simple & easy2use API for obtaining information about a discord user, discord bot or discord guild and their use for some purpose on websites!

discord-web-api A simple & easy2use API for obtaining information about a discord user, discord bot or discord guild and their use for some purpose on

InvalidLenni 2 Jun 28, 2022
Discord Neura - a Discord bot framework built on discord.js

Discord Neura Description Discord Neura is a Discord bot framework built on discord.js. Features Command Handler, Arguments, Preconditions and Listene

Discord Neura 3 Mar 23, 2022
A discord bot made using discord.js and discord-player

Musx A custom discord bot that can play music in your server ?? Add the bot to your server If you are looking for a music bot for your Discord server

Shashwat Singh 4 Mar 28, 2022
This bot is a cool Discord bot made in discord.js using Node.JS

Anti-Crosspost Discord Bot This bot is a cool Discord bot made in discord.js using Node.JS. It detects when a user cross-posts a message in multiple c

Muhammad Usman Mithani 4 May 31, 2022
Co-Pilot is a discord Bot designed to be the all-in-one, open-source Discord bot that handles all your server needs.

Welcome to Co-Pilot Bot repo! ?? ?? Co-Pilot (All-in-one Discord Bot) Co-Pilot is a discord Bot designed to be the all-in-one, open-source Discord bot

YMafalha 19 Nov 11, 2022
It is a discord bot bot which can play lofi song in different language 24/7. It has premium system and cool embed looks with buttons. It can play youtube songs, playlists. This bot code was made by Supreme#2401. It uses djs V12

Lofi-Radio-Music-Bot It is a discord bot bot which can play lofi song in different language 24/7. It has premium system and cool embed looks with butt

Diwas Atreya 89 Jan 2, 2023
⚡ Discord bot with economy, gambling, music, fun, moderation features based on discord.js v12

Crucian Crucian is my discord bot with simple structure based on discord.js Click Here to invite Crucian to your server Author Crucian © Apoo Authored

apoow3b 3 Jul 26, 2021
A multipurpose Discord-bot created using discord.js.

Flame A multipurpose Discord-bot with music, economy, utils, and also auto-moderation. Flame is a powerfull, multipurpose and fully modular Discord-bo

Flame 38 Nov 14, 2021
Cyrus is a Discord Bot with focus on Fun, Moderation, information and much more commands! Made it with Discord.js

Cyrus Cyrus is a Discord Bot with focus on Fun, Moderation, information and much more commands! Made it with Discord.js Invite : Click here Vote : Top

null 4 Dec 3, 2022
OptiBOT - My discord.js V13 discord bot.

OptiBOT Just a discord.js v13 bot for my discord server. if you plan to use this bot for your server, dont. This i made this bot just for learning js

PrecisionEXTP 1 Jan 3, 2022
A discord bot using @discord.js and mongoose. Used for music, moderation, and entertainment.

hazel A discord bot using @discord.js and mongoose. Used for music, moderation, and entertainment. Features Music ― supporting YouTube, Spotify and So

yushi 27 Dec 31, 2022
Denky is a multipurpose Discord bot, build with Node.js, TypeScript and discord.js.

?? Denky Bot Denky is a brazilian Discord bot, build with Node.js, TypeScript and discord.js. ⚙️ How to Create a Discord application. Guide Install No

Davi Patricio 8 Apr 6, 2022
Sample discord bot using clashofclans.js and discord.js

Clash of Clans sample discord bot using NodeJs Introduction This sample bot project aims to help you get started with interacting Clash of Clans API u

Priyam 6 Dec 16, 2022