captaincolonelfox / TeleTok

Telegram bot to download TikTok videos
https://t.me/TeleTockerBot
MIT License
48 stars 48 forks source link

Added ALLOWED_IDS, REPLY_TO_MESSAGE, and WITH_CAPTIONS #27

Closed arslan-charyyev closed 5 months ago

arslan-charyyev commented 5 months ago

Hello. First of all, I wish to express my gratitude for this open source bot. It has been working quite well on my VPS for quite some time. However there was some feedback from its users, and to accommodate their preferences I implemented them in my own fork. I share these features with the original repository in the hopes that someone else might benefit from them as well. Without further ado, here are the changes:

  1. Replaced USER_ID with ALLOWED_IDS I wanted to restrict the bot to more than one users, so I had to make it a list. Furthermore, I wanted everyone in a group chat to have access to it, so I added support for chat IDs as well. Finally I renamed the variable to express support for both use cases.
  2. Added REPLY_TO_MESSAGE Some users didn't like the fact that the bot was replying to their messages, because they received undesired notifications from the bot. This options allows us to configure the bot to reply to source message or to send the video directly.
  3. Added WITH_CAPTIONS Some users didn't like that captions that were being shown underneath the video. They wanted just the video, without distractions. Hence, this option was introduced.

I understand that the replacement of USER_ID with ALLOWED_IDS is a breaking change, so I can add a support for backward-compatibility if you wish to see it.

Finally, I added compose.yaml and .env.template to simplify the deployment of the bot using docker compose and to provide and examples for all options.

arslan-charyyev commented 5 months ago

Hello. Thank you for the swift review! All of your suggestions are quite sensible, hence I would be more than happy to implement them later today.

arslan-charyyev commented 5 months ago

Hello. I have adopted all of your suggestions. Please do let me know if I missed anything.

Regarding the pyproject.toml: I don't have any experience in setting it up, hence I have to leave this in your capable hands. I myself am eager to learn how it should be properly set up with formatters, linters, and probably CI/CD.

captaincolonelfox commented 5 months ago

Thanks a lot! Don't worry about pyproject.toml, I was just thinking out loud, I will setup that myself.

I did a quick fix (I did a typo in the env variable in one of the comments), and I pushed it to your fork myself, just to not bother you with that.

I will squash your changes, so you better to recreate your fork, if you want to be able to contribute again in the future

(a little tip: it generally better to create a branch in your fork and do not commit in the main, so you can just drop branch, when your changes are merged instead of recreating fork everytime)

arslan-charyyev commented 5 months ago

Thank you so much for the fix and the merge! And yes, the branching strategy you outlined makes sense, but I didn't follow it because I never intended for my fork to be permanent. I will happily switch to the original repo and delete my fork now.