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
138 stars 46 forks source link

One should be able to PM people through the bridge #32

Closed KevinMGranger closed 5 years ago

jwflory commented 7 years ago

Not sure on this one. @repkam09 or @thenaterhood, do either of you know of something that would make this possible within the Telegram API? The only way I could think of it is by having a Telegram IRC bot for every member of the channel… which could be troublesome. Any thoughts?

repkam09 commented 7 years ago

Oh man. This would be really hard I suspect. I'll think about it a bit.

robbyoconnor commented 7 years ago

How would this even work?

ImTheDeveloper commented 6 years ago

I have a view on how this could work.

To pm from telegram down to IRC:

  1. User either knows the nick of the person they want to PM or utilises /names command on telegram to be printed a list of usernames.
  2. User messages the bot in private utilising the nick of the person on irc they wish to pm. This could be done using a command /private nick message or by using @nick message. You could technically skip step 1 and allow the bot to build a list of nicks for the user to select when they use /private in pm to the bot.
  3. Upon issuing the message to the bot it is the Bot that messages the user in private using privmsg message on IRC.
  4. The format of the message could be something similar to [Private] [TelegramUserName] - Hey there

For the user to respond to such a message there are a few options however I expect something like this could work.

  1. User replies utilising an irc command in PM e.g. !pm telegramusername messagehere
  2. Bot checks to see if it has any open chats with the current telegram user, if so it relays the message. If not it would need to somehow message the user in a public channel to say they have a message waiting.
  3. If there is just a message waiting then the user would need to PM the bot to retrieve the message.

I believe step 2 or 3 is tough due to the rules around bots contacting you first. Typically this is why I have not used the BOT API myself and I have chosen to use the full telegram API for this kind of thing.

Anyway - theres flaws of course but thought I would post up something to give some food for thought.

robbyoconnor commented 6 years ago

This seems kinda silly...unless this happens in a PM with the irc bot...

ImTheDeveloper commented 6 years ago

What bit is silly.. I believe it says in on with the bot. However there is a limitation in the bot API if you want a clean irc to tg pm to someone that hadn't initiated a chat on tg with the bot before. Privacy rules trump all

robbyoconnor commented 6 years ago

The whole idea of being able to do that...I don't think it's a good idea.

On 10/06/2017 10:43 PM, Chris wrote:

What bit is silly.. I believe it says in on with the bot. However there is a limitation in the bot API if you want a clean irc to tg pm to someone that hadn't initiated a chat on tg with the bot before. Privacy rules trump all

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/RITlug/teleirc/issues/32#issuecomment-334905327, or mute the thread https://github.com/notifications/unsubscribe-auth/AABaMO92NhcA3qTFMbdIrvZGrJ179RfIks5spuVQgaJpZM4LMIhV.

ct-martin commented 6 years ago

@robbyoconnor One idea may be to ping someone on the other side to say they have a PM on the other. To get around the bot rule you could make them turn it on. Would be useful to do instead of saying in public chat for those of us on TG side only.

robbyoconnor commented 6 years ago

Too much overhead to be worth it.

jwflory commented 5 years ago

This is one of our oldest tickets. There is no easy way to implement this, and also requires us to integrate an authentication capability into messages (i.e. ensuring someone's messages cannot be read by someone else). Because of the limited bandwidth of core contributors and maintainers, I think this ticket is out of scope for our project.

I'm open to revisiting this later, but I would prefer to start with a specific proposal or idea of how to implement this.

For now, I am closing this as out of scope since I don't think it is likely for the core team to work on this ticket at this time. :clapper: