Giter VIP home page Giter VIP logo

amibot's People

Contributors

anshgupta01 avatar azazz3l avatar blaster4385 avatar dependabot[bot] avatar ditsuke avatar gupta-shashwat avatar jailbreakervc avatar khardikk avatar obsidianmaximus avatar rohan09-raj avatar vinayaknayar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

amibot's Issues

[BUG] Inconsistent date list for class schedule option

What

The list provided by options menu after selecting class schedule is inconsistent especially in the morning. Today's date should be in the middle of the list and description should mention "TODAY" for current date.

Possible Fix

Maybe the check the datetime.now() implementation.

Only integral values

I think all of us are having integral values as username in amizone, so maybe add a line that will break the operation from going any further if the username is having alphanumeric or string as value?

What do you think sir?

Screenshot_20221003-161504_WhatsApp.png

And if it could say "Invalid Option", then it would look much better.

Screenshot_20221003-161840_WhatsApp.png

Thank you.

[FEATURE] Add an `About` opions in the options list

What

Being an open source software, there should be an about section in the app which can show the application's creators and it's various contributors. Adding a link to this GitHub repo will also be beneficial and support transparency. Along with that, a deployment guide for self-hosting the bot can also be added.

Possible Solution

Implement feature

  • About Option
  • Deployment to whatsapp md file

Migrate to bun

Bun, a faster modern alternative to Node.JS just released its first stable version. Why we want to migrate:

  • It's fast.
  • Compatible with Node APIs: expected to "just work" by just switching out Node for Bun.
  • Has its own, very fast web framework; we can switch from Fastify as a second stage of the migration.
  • Can transpile TS to JS on its own (a lot faster than tsc). However the transpilation process does not typecheck (citation needed), so we'll need a separate type-checking workflow.
  • Is cool. We want Amibot to be cool and cutting-edge so it's always fun and appealing for new contributors.

[Feature] Encrypt user credentials at rest

Problem

We're storing user credentials in plain-text. This is less than ideal as a database breach would render them exposed.

Solution

Encrypt these credentials while storing, decrypt them while using. A secure symmetric algorithm like AES-256 should suffice.

Reference: #35

Date menu after error

Need a menu that comes once the "invalid date" message is sent if the user inputs a wrong format of data , as this can lead to the bot being stuck in a loop until a date is given to it.
image

Remove unnecessary `options` message

What

The current message flow has a redundant options message:

image

Proposed solution

Instead of the first redundant options message, use only the second list option menu in the flow with an added logout option.

Restart message

The restart message might look awkward to people who don't know what the line means -

image

I have pin-pointed the line where this output might come from -

await ctx.bot.sendMessage(payload.sender, "Start the ctx.bot using *start*");

If someone could correct it or maybe I could open a PR and correct it, then the restart message would look more meaningful.

Thank you.

Help commands

If you could send some bot commands with the initial text that'd be helpful!

[DOCS] Create a contribution guide

Create a CONTRIBUTING.md with steps to contribute to the project, including forking, branching, commit message standards and project setup -- MongoDB, Whatsapp/Facebook token, webhook configuration including exposing to web with ngrok or similar.

Add additional buttons to check attendance+schedule for the current/previous day

The Problem

I'd imagine that checking attendance and class schedule for the current and previous day is the most commonly used flow in the bot for most users, as it is for me. However, this flow currently requires at least 4 button clicks and waiting for 2 bot responses. Suboptimal!

Proposed Solution

Add extra buttons just to trigger these flows. Essentially:
image

[BUG] Redundent `Menu` option

What

Selecting the Menu option in the options list gives back a redundant message as a response that doesn't serve any purpose.

Possible Fix

Just remove it from the options menu. We don't really need this option with the recent overhaul of UI.

Start issue

after sending start, it sends the welcome message and just asks for password(it takes anything) while not asking the username, which then gives the error of 'could not validate credentials, please re-enter' even after entering right password.
image

Feature req: Option to report issue

Can we have an in-built option to report any issue with the bot or say a feedback option, instead of coming here on github and opening an issue?

Because many people who don't use github might find it tough to report if any issue or bug arises or just in general recommendations to add new features.

Thank you.

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.