Giter Club home page Giter Club logo

discord's Introduction

Discord Accountability Bot

This Accountability bot is here to enhance your experience, helping you track your personal development goals, participate in challenges, and engage with the community. Whether you're focusing on improving your fitness, studying, coding, or any other personal growth area, our bot makes tracking your progress seamless and motivating.

image

Features

  • Goal Tracking Across Various Tracks: Set and track goals in multiple areas, including Fitness, Leetcode, Studying, Meditation, Content Creation, and more.
  • Interactive Goal Setting and Updates: Set new goals, update your progress, and stay committed to your personal growth journey.
  • Weekly Leaderboards: Stay motivated with weekly leaderboards showcasing the most active and committed members in each category.
  • Personal Statistics: Get insights into your weekly progress with personalized statistics, helping you understand your achievements and areas for improvement.
  • Community Engagement: Participate in community-wide challenges and goal-setting activities, fostering a supportive and motivational environment.

Getting Started

Complete Your Profile

Before setting up your goals you have to create a profile. Include your name and your email address.

Setting Up Your Goals

  1. Pick Your Track: After setting up your server or when the bot prompts, select the type of goal (e.g., Fitness, Leetcode) by clicking on the corresponding button.
  2. Declare your goals: Enter the details of your goal, including a description, metric (e.g., miles, minutes), target (must be a number) and frequency per week.
  3. Submit Your Progress: State what you did, such as "I studied japanese for 20 minutes today". If that doesn't work use the /submit command followed by the amount you've achieved (e.g., /submit 5 to log 5 Leetcode problems solved).

Viewing Your Progress

  • To view your personal statistics, including submissions and active days, use the /stats command. This will provide a breakdown of your weekly achievements.

Viewing Your Goals

  • To view all of your active goals, use /goals command. This will give you each of your goals.

Participating in Leaderboards

  • Weekly leaderboards will automatically be posted in the designated channel, showcasing top performers in each category. Engage with the community, celebrate achievements, and set new goals to climb the ranks!

Commands Overview

  • /submit [amount]: Submit your daily progress for a specific goal.
  • /stats: Receive a summary of your personal stats for the last week.
  • /goals: View all of your active goals.

Support

If you encounter any issues or have questions about using the bot, feel free to reach out to the server moderators or directly to Meri Nova for assistance on our server.

Contributing

We're always looking to improve and expand the bot's functionalities. If you have suggestions or would like to contribute to the development, please mention it on the discord or submit an issue to this repository. Check out our CONTRIBUTING.md file for more information on how you can be part of building this awesome bot.

discord's People

Contributors

thebadcoder96 avatar kostyacholak avatar meri-nova avatar kcho-mirato avatar kellyjadams avatar madhavbhatia222 avatar

Stargazers

Shweta Mishra avatar Yang avatar krithika avatar  avatar Shariq Malik avatar Jason Fell avatar  avatar  avatar  avatar Sunita Gajurel avatar

Watchers

 avatar  avatar  avatar

discord's Issues

Create a notification feature

Come up with a way to notify users who have not submitted for a day.

Consider two options:

  1. Internal Discord notifcations- Great for MVP

Create a channel where everyone who has not submitted will be notified twice a day by tagging them together
Or send DM's( which we tried and got rate limited and banned)

  1. External notifications using email or phone number or messaging platform - Great for long-term feature build

Consider asking for their email and phone number.
Ask them which is the preferred method of communication between those two.

UI for Personal Analytics and Leaderboard

Create a better UI for personal progress.

Ideas for personal progress UI:

On #daily_submissions channel, create a tree/garden for each user.
Each time they submit a tree grows and updates the statistics underneath.

Ideas for Leaderboard:

A leaderboard posted once every day.

Must have:

Weekly rank of daily submissions. (Username, submissions per week)
Overall

Check out this repo for inspiration https://github.com/StudyLions/StudyLion

Text modification ideas for the notifications and submission channel.

For submission channel:

Currently bot responds with No submission found but it should be more User friendly
something like I couldn't understand your submission. or
Please try in this format so I can understand you better
Provide instructions in a human way.

For notifications.
Include the header for each time zone you are sending the notifications.
Also update this message.
Hey ! It's time to submit your daily goal for user's category.
Keep pushing! You got this You have submitted 0 goals so far:tada:

Share Personalized Resources based on Goals

Ask people for long-term goals like daily goals and share personalized resource plans for them.

For example:

  1. Choose a learning goal field - Data Analytics | Data Engineer | Data Science

A User should be able to choose more than 1 field.

  1. Choose a learning mode - Guided Video Project | Guided Article Project

A User should be able to choose more than 1 field.

  1. Choose a level of expertise in each tool/language -

Python/R : Beginner | Novice | Intermediate | Expert
SQL : Beginner | Novice | Intermediate | Expert
Any Cloud Technology : Beginner | Novice | Intermediate | Expert

  1. Any industry interested in - Finance | Healthcare | Tech-Product | Marketing

Based on the above responses:

  1. Generate a personalized plan
  2. Set milestones
  3. Set project deadlines
  4. Submission proof
  5. LinkedIn Post for points

If they complete the pathway. they get access to personalized guidance and mentorship from an expert in the field for 30 minutes.

Events Annoucements

Announcement before 1 hour of any events on the announcement channel would be awesome and increase engagement.

Proof/Photo Submissions

Right now we are storing the photos or attachments as a separate submission in the submissions table. There is no relation between this submission (which is proof/photo) and the original submission. We probably need a better way to tie the photo/proof along with the submissions; otherwise there is no point in storing these proofs are separate submissions.

Some Simple Features

Here let's suggest and agree on implementing some simple features:

  • Greet users when they are onboarded and joined the server. (maybe we can add something to remind the user to sign up for newsletters or follow us)
  • Liking all user messages in submissions channels
  • Setting reminders

Test cases

Right now we only have one test case that will start the Discord bot and check if it is successfully connected to Discord within 5 seconds.

This isn't ideal because it relies on an arbitrary sleep duration, which can be unreliable cuz what if there are network issues or startup variability? Wdyt?

Also what other test cases should we add? Testing the connection with the database and testing the commands [/stats and /submit] is what comes to mind rn.

Fix the onboarding buttons

After sometime the buttons on the onboarding form are not working.

Need to fix.

Before we onboard everyone on the server.

Screen Shot 2024-02-15 at 5 10 23 PM

Have a way to look at your goals

Ability to check how many goals you've set (including the metrics you set it at). Good for if you set more than one and/or forgot your goals.

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.