إعداد تكامل Telegram باستخدام إضافة discourse-chat-integration

Solved: Exited the chat bot from that telegram group. And understood that if I wanted the bot to be the part of that group, then that group’s chat ID need to have a channel and a channel rule under itself.

إعجاب واحد (1)

The Telegram integration works very well for channels but it’s unsuitable for groups-- it will spam its operation instructions every time a chat “event” happens (like someone joining or leaving the chat, or a message getting pinned). Even if you disable the slash commands entirely. Is there a way to get the bot to not respond to these events?

إعجابَين (2)

Do you have group_privacy disabled?

4 إعجابات

I tried that setting too and saw that it becomes every message as you say. Even with group_privacy enabled bots can still see these join/leave/pin events.

Hi,
I created the telegram bot, entered the key and activated the function in discourse. HTTPS is enabled (our site runs behind an apache proxy)
However the tab is not showing. Where can I debug this? I can not find any errors in the logs.
Is there a way to test the connection to telegram from inside the Discourse container?
thx

إعجاب واحد (1)

short update on this. I entered the discourse container with docker exec -it container /bin/bash. then I executed the following:

curl https://api.telegram.org/bot123456789:ABCDEfgh2ZojwyChMz0xuIo2Wvg4ww3XGI4g/getMe

this returned an ok response with the name of my bot etc.

however the integration with discourse does not work yet. Is there a log file somewhere so that I can debug this? Any help is appreciated.

Is the force_https site setting enabled? Is the chat_integration_enable_telegram setting enabled?

إعجابَين (2)

Hi,
yes both settings are enabled.
HTTPS is working fine, also with login integration with fb, google, tw.

what could be the cause, or where could I find the logs?

thx

@jucajuca

I am also facing same issue since last 4-5 days on my new discourse instance.

Hi @david, is there any way i can see the logs.

On my old instance notifications are working good with telegram bot, but in newer instance Chat ID is not getting generated. The curl command mentioned above is giving output as true from discourse instance. Other oauth plugins like google. twitter are working without any issues.

Thanks in advance.

إعجاب واحد (1)

I just got it working on a new Discourse install by firing up rails c and manually running DiscourseChat::Provider::TelegramProvider.setup_webhook()

Hope that helps!

4 إعجابات

Thanks a lot @codatory
@codinghorror Thanks for this awesome platform :slight_smile:

It worked :+1:

إعجابَين (2)

can you elaborate a bit on this? should I run these commands from within the container? in which directory? I’m not a rails expert. thx! : )

Yeah; so you enter the container and run
rails c
Then wait a bit for it to load up. Once it’s loaded up you can paste in
DiscourseChat::Provider::TelegramProvider.setup_webhook(); exit
Then you can exit out of the container and it should be working.

إعجابَين (2)

THANK YOU, this solved my issue But had to toggle the plugin off in my admin. Then on. Then run this.

إعجاب واحد (1)

تمكنت من جعل هذا يعمل، لكن ليس ضمن مجموعة. حيث يرسل لي الإشعارات مباشرةً كمحادثة بيني وبين البوت.

لقد أضفت البوت إلى مجموعة خاصة، وكان لديه صلاحيات المسؤول في المجموعة. كما أضفت المجموعة كقناة في إعدادات إضافة Discourse. لكن كل مرة أحاول فيها إرسال إشعار تجريبي إلى المجموعة (قناة تيليجرام)، تظهر لي رسالة خطأ 422، بغض النظر عما أفعله. وهذا الخطأ صادر من داخل إعدادات القناة الخاصة بإضافة تيليجرام في Discourse.

هل يمكن لأحد المساعدة؟ فأنا أرغب حقًا في إعداد هذا لمجموعتنا.

تم حل هذه المشكلة الآن بفضل هذا PR:

المشكلة الأكثر شيوعًا هي مفتاح API غير صالح. تأكد من أنك قد نسخته/لصقته بشكل صحيح، ولم تقم بإدراج أي مسافات قبله/بعده عن طريق الخطأ.

إعجابَين (2)

رمز واجهة برمجة التطبيقات يعمل بشكل صحيح، حيث أستطيع استلام الإشعارات في رسالة خاصة من البوت على تيليجرام. المشكلة تكمن فقط في عدم قدرته على الإرسال إلى المجموعة. بالإضافة إلى ذلك، في كل مرة يرسل فيها شخص ما رسالة في القناة، يقول البوت “تم إعداد هذه القناة بمعرف الدردشة: …” وهو أمر مزعج للغاية.

الآن أواجه هذه الرسالة الخطأ.

Errno::ECONNRESET: تم إعادة تعيين الاتصال من قِبَل الطرف الآخر - SSL_connect
من /usr/local/lib/ruby/2.6.0/net/protocol.rb:44:in `connect_nonblock’

بغض النظر عن كيفية التبديل بين هذا الإعداد، أواجه نفس المشكلة. هل هناك حل بديل هنا؟

أحاول إعداد الإشعارات، لكن عند إضافة البوت إلى مجموعة تيليجرام، لا يرسل معرف الدردشة. لقد جربت ذلك عدة مرات وفشلت في كل مرة :<

ما الذي يمكنني فعله لاستكشاف المشكلة وحلها؟ لقد جربت بالفعل تشغيل أمر وحدة تحكم Rails

إعجاب واحد (1)