RITlug / teleirc

Go implementation of a Telegram <=> IRC bridge for use with any IRC channel and Telegram group
https://docs.teleirc.com/
GNU General Public License v3.0
141 stars 45 forks source link

Explore adding captcha feature to reduce spam #327

Open nlMeminger opened 4 years ago

nlMeminger commented 4 years ago

Summary

Spam sucks. Captcha could help

Background

Telegram has seen an increase in the number of spambots joining groups and generally just annoying people which then bleeds over to IRC.

Adding a captcha feature to teleirc would help to alleviate this problem. Or perhaps a spin-off project for captcha only that others could use since captcha bots are often bundled with other larger bots, that could easily be an add-on to teleirc

Outcome

A captcha is given to the end user when they join a new group that is used to verify people and reduce the amount of spam and general suck in the world.

jwflory commented 4 years ago

_Discussed in 2020-10-11 meeting._


This came up briefly during our meeting today. There were good pros/cons to working on this ticket, but we deferred to revisit this once we get through the backlog of more important bugs and waited-for features. I'm recapping some of the discussion here for whenever we revisit this:

We're not ruling this out yet but we will revisit once we get through a couple more releases this semester.

jwflory commented 3 years ago

Originally noted by @Tjzabel in issue #364 opened by @zethra:

Hmm... This is definitely a hard issue to solve. We can try to look at message metadata on Telegram's side and see if there is a way to tell if a user has completed the captcha or not.

The second alternative seems a bit iffy to me, since a new user coming into the TG group would want assistance, and be confused as to why they are being ignored if they join in the middle of a conversation. I feel it could possibly work if we have like a 5 minute timer to when a message can be sent into the channel. So basically:

1. check if a user has joined more than 5 mins ago

2. If this is not the case, go in a loop and wait until the statement is true.

3. At that point, make sure the user is still in the TG group, and then send the message to IRC.