Giter Club home page Giter Club logo

cute-bot's Introduction

Hi there ๐Ÿ‘‹

My name is denexapp, I'm a React.js and Node.js developer. I use TypeScript and I learn Rust.

Here's the list of some cool frontend techs I use:

  • Frameworks: Next.js,Koa.js and Vite
  • Libraries: Redux Toolkit, CSS-in-JS with Emotion
  • Serverless: Google Cloud Run, Google Cloud Datastore, Vercel serverless functions, and Fauna DB.
  • Figma: Figma (Figma)

cute-bot's People

Contributors

dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

cute-bot's Issues

Check admin rights on command

Check that the bot has admin rights in the conversation on command. Send an error message if the bot doesn't have them.

  • vk-ts: Add error handling
  • vk-ts: Throw exception on error 917 of messages.getConversationMembers
  • Add a flag to chat settings. This flag shows if the message about rights was shown
  • Catch the exception and send a message saying that bot needs permissions in order to work (if it's a command or the flag is false)

Add mode that allows users to interact with the bot

Users may interact with non-admin commands now. That's not how it should be by default, but this behavior may be useful.

  • Add a mode commands that allow or forbid users to interact with the bot
  • Ignore commands sent by non-admins if the mode is off

Add templates to the bot

Sometimes you need to send a predefined text several times. It would be easier to add a way to save these messages and ask bot to send them with a short command.

  • Add a command to add template
  • Add a command to edit existing template
  • Add a command to show a list of existing templates
  • Add a command to remove existing templates
  • Add a command to send existing template
  • Add a shorthand to the command that sends existing template
  • Add a way to save templates to the database

Do not react to messages from bots

Some bad people may spam to the bot using other bots. Even without it, it's not an expected behavior when the bot reacts to a bot.

  • Ignore messages from communities

Add an instruction how to set up a callback server

It's not clear how to set up callback server now. Need to add an instruction.

  • cute-bot-callback: Add readme with Deploy on Vercel button
  • Cute Bot VK: write an article about callback server
  • Add environment variable with URL of the article
  • Add the link to the article to /callbackAdd and /callbackConnect error messages

Add a mode to ignore unknown commands

If there are multiple bots in a conversation, a message that command is unknown will be triggered even if it's a valid command for another bot.

  • Add actionless modes
  • Replace 'enableUserCommands' and 'disableUserCommands' with a new actionless mode 'ignoreUsers'
  • Add new mode called 'ignoreUnknownCommands'

Set up dev environment

Since the bot is used by some chats right now, it will be a good time to start to use 2 environments: dev and production.

  • Set up preview environment on Vercel
  • Create a group on vk.com
  • Create a database in Fauna

Add an error message if user tries to add the same callback server

Command add is used to add a callback server. If there's an already connected callback server, it replies with an error. It says, to add the new server you should remove the old one first. But this message feels weird if a user tries to add the same callback server.

Add specific error message if a user adds a callback server with the same URL

Send "typing" status

Sometimes handling a command may take a while. It will be a good idea to send "Cute Bot is typing" status when handling of command starts.

  • Add the corresponding method to the vk-ts package
  • Add "sends message" flag to commands and modes
  • Add a global queue for messages: a counter and two methods: imGonnaSend() and send()
  • Send "typing" status on errors, commands, and modes

Rewrite messages to make them look more casual

Current messages are awful.

Bot's messages should look like it's talking with you, like a person. Messages shouldn't look like some system notifications.

Rewrite them to make them look more human-ish

Add swear words filter

Add a mode that removes messages with Russian swear words.

  • Add russian-bad-words package
  • Add mode
  • Add function that detects bad words in the message

Clear callback modes list in a conversation when callback server is dicsonnected

There are several cases when a callback server gets disconnected from a conversation. In these cases, the callback modes list should be cleared. A list of disabled modes should be also shown

  • Clear the list of callback modes in a conversation when the callback server disconnects
  • Add i18n for lists
  • List active callback modes that can't apply their effect because there's no callback server
  • List disconnected callback modes on /callbackDisconnect
  • List disconnected callback modes on /callbackRemove
  • List disconnected callback modes on /callbackSecretReset

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.