J-Rios / TLG_JoinCaptchaBot

Telegram Bot to verify if users joining a group are human. The Bot sends an image captcha for each new user and kicks any of them who can't solve the captcha in a specified time.
GNU General Public License v3.0
516 stars 217 forks source link

[Question] Bot Private Mode usage #61

Closed wanderleihuttel closed 3 years ago

wanderleihuttel commented 3 years ago

Hello @J-Rios !

I've saw that you've included an option to change bot mode for private. I've tried to include more than one group and it looks it doesnt worked!

Would be possible to modify to add group with nickname @groupname instead group id?

J-Rios commented 3 years ago

Hi,

Can't replicate the issue, the Bot can be allowed and added to multiples groups, seems ok...

What is exactly the problem that you have seen? Which are the steps to reproduce the issue? Are you sure that you have allowed the correct chat ID of the groups (check command /allowgroup)?

Also, note that privates groups changes their chat ID when it turns into public supergroups, so the chat ID needs to be allowed again...

About the use of group name or alias instead chat ID, it is possible but that can lead to a lot of problems, chat ID are unique and can't be reused, so it is much safest... An example of the problems of using group alias: when a group changes their alias, the previous one will be free to other groups to use it, so that could make Bot allows unexpected groups if Bot owner didn't notice that (a group can steal Bot allow usage if they notice that the alias has been changed in another group where the Bot is).

Regards.

wanderleihuttel commented 3 years ago

Hello Jose

I've added a bot @groupinfobot to get the id of group.

Example of one of my groups: @powershellbr

groupinfobot
Supergroup 1001065007673 
Owner
• Wanderlei Hüttel
Admins
• Victor França‎

And run the command on bot chat and in the group chat and nothing happens! /allowgroup add 1001065007673

J-Rios commented 3 years ago

Sure, you need to tell the allow command to captchabot, so Bot needs to be in that group, or just talk to Bot in a private chat. Also note that groups ID starts with a minus sign '-', so it should be: /allowgroup add -1001065007673

If you want to know the exactly group chat ID, just try to add the Bot into it when it is running, the Bot will tell you that is not allowed to be in that group, then it shows the group ID and left the group.

If the Bot account that you are using is not private (hasn't got the "BOT_PRIVATE": True, in constants.py), it just don't response to /allowgroup command.

The user that is going to execute the /allowgroup command need to be the "Bot Owner" (the one that you has set into constants.py file).

wanderleihuttel commented 3 years ago

I've changed the option BOT_PRIVATE for true

But when I've tried to run the command /allowgroup add -1001065007673

I've receive the message: This command just can be use by the Bot Owner

And I'm the Bot Owner!

wanderleihuttel commented 3 years ago

Hello Jose I've made a test, and if I the bot owner is ID then doesn't works and if the bot owner is a nickname @nickname it works.

J-Rios commented 3 years ago

Yep, Bot Owner ID is not detected due it was comparing integer and string, now it has been fixed :)

J-Rios commented 3 years ago

Issue solved, closing it.