grammyjs / grammY

The Telegram Bot Framework.
https://grammy.dev
MIT License
2.38k stars 118 forks source link

Plugin Ideas #110

Open KnorpelSenf opened 2 years ago

KnorpelSenf commented 2 years ago

Here is a list of ideas that could be turned into plugins.

You can suggest new ideas in the comments or in the group chat, and we may add them here. Once someone publishes an official plugin in version 1.0, we will remove the idea from this list. You can also decide to start working on a third-party plugin. In that case, you also need to link it on https://grammy.dev. You should be able to demonstrate that your plugin is working.

grammy-dedupe

Deduplicates updates delivered via webhooks. If users follow https://grammy.dev/guide/deployment-types.html#how-to-use-webhooks then no duplicates should appear, but advanced use cases may still require this.

grammy-bulk

Helps sending messages to many people, or performing other bulk operations.

grammy-telegraph

Helps sending long messages.

awilix-grammy

Helps creating complex code bases.

grammy-test

Helps writing tests for bots.

UI components based on web apps

grammy-telemetry

grammy-util

grammy-progress

grammy-replies

grammy-fsm

LongSimple commented 2 years ago

Is there any plan for supporting nestjs? Like telegraf has here https://www.npmjs.com/package/nestjs-telegraf

KnorpelSenf commented 2 years ago

@LongSimple there's no such plan yet. I'll add it to the list. Please comment here if you're willing to start working on it!

andrrms commented 2 years ago

I'm working at grammy-emoji plugin. Anyone who wants to help contribute is welcome!

KnorpelSenf commented 2 years ago

@LongSimple there is now https://github.com/drmikecrowe/nestjs-grammy which has good chances to become an official plugin. You are welcome to contribute. /cc @drmikecrowe

drmikecrowe commented 2 years ago

@LongSimple -- How close are you to wanting to test?

drmikecrowe commented 2 years ago

@LongSimple and all: Please see https://github.com/grammyjs/nestjs

Note ALPHA status disclaimer. I need help moving to the next level with this.

KnorpelSenf commented 2 years ago

Scratching the idea of grammy-cache. The Bot API server already implements this level of caching for us. Telegram confirmed this. Hence, the plugin is superfluous.

roziscoding commented 2 years ago

@FatalMerlin and I are working on the testing framework. Anyone that wants to help is welcome :)

Repo: https://github.com/FatalMerlin/Ymmarg

mi3lix9 commented 2 years ago

Suggestion: TailwindCss plugin for web app theme?

rojvv commented 2 years ago

@Mi3liX9 out-of-scope?

KnorpelSenf commented 2 years ago

@Mi3liX9 we're working on grammY components already. @deptyped is going to turn this into a component library for web apps in the long run. It would be great if you'd join in: https://github.com/grammyjs/components

OfficialCodinary commented 10 months ago

A cache library, Which uses caching system for InputFile. For example:

ctx.replyWithPhoto(...)

When i call it twice i want the second to be fast. Idk if i've elaborated it well

KnorpelSenf commented 10 months ago

That sounds cool, let me add it

KnorpelSenf commented 10 months ago

@OfficialCodinary in fact, we already have a plugin for files, and your idea is in scope for that. Check this out: https://github.com/grammyjs/files/issues/6

alexander-lamdan commented 7 months ago

Hey, I love your grammy framework, damn it's awesome, you saved my life.

How or can you add hot reload for node.js in typescript? It really nesseccary for working with bot in real-time

KnorpelSenf commented 7 months ago

It's built-in with Deno, but if you use Node, then there are projects like nodemon that work well. They typically don't do true hot reloads as what you would get while developing for the frontend, but since starting a bot shouldn't take more than a tenth of a second, the turnaround time is still fast enough.

roziscoding commented 7 months ago

Just beware that, if you use any kind of in-memory state (like MemorySessionStorage, for example), you'll lose that state. Another difference from true hot reloading.

anatoly314 commented 7 months ago

@alexander-lamdan I'm using tsx in this way and it works fine:

"scripts": {
    "dev": "tsx watch src/start.ts",

but like @roziscoding said if you have something in memory it will be lost between restarts

TerrniT commented 2 months ago

I got the idea of using grammy with bun/elysiajs. Does anyone have such experience ?

roziscoding commented 2 months ago

I got the idea of using grammy with bun/elysiajs. Does anyone have such experience ?

Someone probably does, but that's not useful information. It's better to take any issues or specific questions to the group chat

roziscoding commented 2 months ago

grammy-telemetry

There's a draft of this here