Как получать посты в каналах телеграм по WebSocket?
От: Passerby  
Дата: 24.06.24 17:09
Оценка:
Как получать посты в каналах телеграм по WebSocket?
Re: Как получать посты в каналах телеграм по WebSocket?
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 27.06.24 13:53
Оценка:
Здравствуйте, Passerby, Вы писали:

P>Как получать посты в каналах телеграм по WebSocket?

А при чем тут .Net?
Re[2]: Как получать посты в каналах телеграм по WebSocket?
От: Passerby  
Дата: 30.06.24 12:16
Оценка:
Здравствуйте, Михаил Романов, Вы писали:
МР>А при чем тут .Net?
Не знал, что только на Python есть библиотеки для Телеграм.
Re[3]: Как получать посты в каналах телеграм по WebSocket?
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.07.24 02:23
Оценка: +1
Здравствуйте, Passerby, Вы писали:

P>Здравствуйте, Михаил Романов, Вы писали:

МР>>А при чем тут .Net?
P>Не знал, что только на Python есть библиотеки для Телеграм.
Ваш вопрос плохо сформулирован. Из него непонятно, что именно у вас не получается. Прочтите https://rsdn.org/Info/Howtoask.xml — это поможет быстрее получать помощь.

Просто подключиться по веб-сокетам? https://learn.microsoft.com/en-us/dotnet/api/system.net.websockets.clientwebsocket?view=net-8.0
Подключиться к Telegram из C#-приложения? Вот библиотека: https://github.com/wiz0u/WTelegramClient
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Как получать посты в каналах телеграм по WebSocket?
От: Passerby  
Дата: 10.07.24 19:55
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>что именно у вас не получается.
Не то что не получается, я не знаю, как получать новые сообщения из некоторых каналов телеграм, где я не админ.
S>Просто подключиться по веб-сокетам? https://learn.microsoft.com/en-us/dotnet/api/system.net.websockets.clientwebsocket?view=net-8.0
))) Что такое WebSocket знаю. Вы API телеграм видели?
S>Подключиться к Telegram из C#-приложения? Вот библиотека: https://github.com/wiz0u/WTelegramClient
Где там вводятся наименования каналов и количество сообщений (с конца), которые надо получить? Хотя бы REST.
Это точно работающий код?, который не блокирует телеграм?
Есть, к примеру, очень распространенная библиотека telethon. Написал на ней прогу, увы, телеграм блокирует и прогу и разлогинивает меня (хорошо, что не забанил). Тут https://habr.com/ru/articles/425151/ в комментариях написано, что это, увы, почти у всех, к примеру, в https://habr.com/ru/articles/425151/#comment_26333580 Написал в recover@telegram.org просьбу разрешить работу программе, результат нулевой. Потому вопрос только могу повторить: "Как получать посты в каналах телеграм по WebSocket?". Ну или по REST.
Отредактировано 10.07.2024 20:03 Passerby . Предыдущая версия .
Re[5]: Как получать посты в каналах телеграм по WebSocket?
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.07.24 05:09
Оценка: 3 (1)
Здравствуйте, Passerby, Вы писали:
P>Не то что не получается, я не знаю, как получать новые сообщения из некоторых каналов телеграм, где я не админ.
Чем конкретнее вы зададите вопрос, тем больше шанс получить полезный ответ.

S>>Подключиться к Telegram из C#-приложения? Вот библиотека: https://github.com/wiz0u/WTelegramClient

P>Где там вводятся наименования каналов и количество сообщений (с конца), которые надо получить?
В секции Examples есть пример Fetch all messages from a chat/user.
P>Это точно работающий код?,
В описании есть фраза

It has been tested in a Console app, in Windows Forms, in ASP.NET webservice, and in Xamarin/Android.

P>который не блокирует телеграм?
Есть раздел https://wiz0u.github.io/WTelegramClient/FAQ#prevent-ban

P>Есть, к примеру, очень распространенная библиотека telethon. Написал на ней прогу, увы, телеграм блокирует и прогу и разлогинивает меня (хорошо, что не забанил). Тут https://habr.com/ru/articles/425151/ в комментариях написано, что это, увы, почти у всех, к примеру, в https://habr.com/ru/articles/425151/#comment_26333580 Написал в recover@telegram.org просьбу разрешить работу программе, результат нулевой. Потому вопрос только могу повторить: "Как получать посты в каналах телеграм по WebSocket?". Ну или по REST.

Вы опять задаёте не тот вопрос.
Вас должен интересовать вопрос "как сделать так, чтобы мою программу не банил Telegram".
Вряд ли дело именно в библиотеке. С серверной стороны не очень легко задетектить, что за приложение подключается к серверу.
Поэтому ваш вопрос не связан ни с дотнетом, ни с вебсокетами.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Как получать посты в каналах телеграм по WebSocket?
От: Passerby  
Дата: 26.07.24 16:26
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>В секции Examples есть пример
Не было времени. Сегодня попробовал начать переносить код из Examples. Здесь https://github.com/wiz0u/WTelegramClient/blob/master/README.md
"После установки WTelegramClient через Nuget ваша первая консольная программа будет такой простой:

static async Task Main(string[] _)
{
using var client = new WTelegram.Client();
var myself = await client.LoginUserIfNeeded();
Console.WriteLine($"We are logged-in as {myself} (id {myself.id})");
}
При запуске это интерактивно запросит у вас api_hash и api_id вашего приложения (которые вы получаете через страницу инструментов разработки API Telegram ) и попытается подключиться к серверам Telegram. Эти api hash/id представляют ваше приложение, и один из них может использоваться для обработки многих учетных записей пользователей."
Запустил. Программа сразу завершила работу с кодом 0. Ничего интерактивно не запрашивала.
S>Вряд ли дело именно в библиотеке. С серверной стороны не очень легко задетектить, что за приложение подключается к серверу.
Не знаю. Я встречал утверждение одного из разработчиков, что все, что использует не MTPro, а сторонние библиотеки Telegram блокирует.
Re[7]: Как получать посты в каналах телеграм по WebSocket?
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.07.24 04:58
Оценка: 1 (1)
Здравствуйте, Passerby, Вы писали:
P>Запустил. Программа сразу завершила работу с кодом 0. Ничего интерактивно не запрашивала.
Попробуйте пошагово поотлаживаться.
Я только что создал новый проект на .Net 8, добавил в него пакет, заменил штатный Main на код из readme, и запустил.
Welcome! You can obtain your api_id/api_hash at https://my.telegram.org/apps
Enter api hash:|

P>Не знаю. Я встречал утверждение одного из разработчиков, что все, что использует не MTPro, а сторонние библиотеки Telegram блокирует.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Как получать посты в каналах телеграм по WebSocket?
От: Passerby  
Дата: 27.07.24 09:25
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>Попробуйте пошагово поотлаживаться.
Была ошибка. Все равно непонятно. Предположим, хочу получить несколько последних сообщения с каналов https://t.me/headlines_fed https://t.me/banksta Где их указать в коде https://github.com/wiz0u/WTelegramClient/blob/master/Examples/Program_ListenUpdates.cs?ts=4#L21
Re[9]: Как получать посты в каналах телеграм по WebSocket?
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.07.24 12:55
Оценка:
Здравствуйте, Passerby, Вы писали:
S>>Попробуйте пошагово поотлаживаться.
P>Была ошибка. Все равно непонятно.
Предположим, хочу получить несколько последних сообщения с каналов в коде https://github.com/wiz0u/WTelegramClient/blob/master/Examples/Program_ListenUpdates.cs?ts=4#L21
Очевидно, вам нужно использовать метод Messages_GetHistory.
Для каждого из каналов нужно получить экземпляр InputPeerChannel.
Придётся немножко почитать документацию, исходники библиотеки, и слегка поэкспериментировать.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Как получать посты в каналах телеграм по WebSocket?
От: Passerby  
Дата: 28.07.24 17:23
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>Придётся немножко почитать документацию, исходники библиотеки, и слегка поэкспериментировать.
Какую документацию? API Telegram, написанном на языке MTPro, в котором перечисления методов, а сами методы не описаны (страничка с каждым методом имеет настолько краткую информацию, что использовать метод без дополнительных сведений не получится).
Re[11]: Как получать посты в каналах телеграм по WebSocket?
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.07.24 03:10
Оценка:
Здравствуйте, Passerby, Вы писали:

P>Какую документацию?

FAQ библиотеки и Doc Comments
P>API Telegram, написанном на языке MTPro, в котором перечисления методов, а сами методы не описаны (страничка с каждым методом имеет настолько краткую информацию, что использовать метод без дополнительных сведений не получится).
Привыкайте. В реальной разработке есть множество вещей, которые документированы очень коротко или вообще никак. Умение разбираться с такими задачами — важнейший инженерный навык.
Для начала запустите примеры. Разберитесь, как они работают. Потом подкрутите код примеров так, чтобы он делал то, что нужно вам.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[12]: Как получать посты в каналах телеграм по WebSocket?
От: Passerby  
Дата: 29.07.24 09:40
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>FAQ библиотеки и Doc Comments
К примеру, где приведена документация на ListenUpdates https://github.com/wiz0u/WTelegramClient/blob/master/Examples/Program_ListenUpdates.cs?ts=4#L21 Что мне нужен Messages_GetHistory вы уже писали.
S>Привыкайте. В реальной разработке есть множество вещей, которые документированы очень коротко или вообще никак. Умение разбираться с такими задачами — важнейший инженерный навык.
Вот чтобы не разбираться с MTPro, не имеющим нормальную документацию и создал тему. Впрочем, спасибо. Реально помогли, т.к. появилось больше информации и, оказалось, что есть чат поддержки в ТГ по этой библиотеке https://t.me/WTelegramClient
Re[13]: Как получать посты в каналах телеграм по WebSocket?
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.07.24 09:57
Оценка: 1 (1)
Здравствуйте, Passerby, Вы писали:

P>К примеру, где приведена документация на ListenUpdates https://github.com/wiz0u/WTelegramClient/blob/master/Examples/Program_ListenUpdates.cs?ts=4#L21

Program_ListenUpdates — это пример программы, которая подписывается на уведомления. Она и есть "документация".
А если вас интересует, где документация на метод WithUpdateManager, который является основой этого примера, то она в Doc Comments: https://github.com/wiz0u/WTelegramClient/blob/master/src/UpdateManager.cs#L578-L590
По идее, именно эта документация должна всплывать в студии, когда вы наводите мышку на строчку
Client.WithUpdateManager(Client_OnUpdate/*, "Updates.state"*/);

P>Вот чтобы не разбираться с MTPro, не имеющим нормальную документацию и создал тему. Впрочем, спасибо. Реально помогли, т.к. появилось больше информации и, оказалось, что есть чат поддержки в ТГ по этой библиотеке https://t.me/WTelegramClient
Отлично, желаю удачи.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Как получать посты в каналах телеграм по WebSocket?
От: Passerby  
Дата: 11.08.24 19:17
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>Отлично, желаю удачи.
Программа https://wiz0u.github.io/WTelegramClient/EXAMPLES#fetch-all-messages-history-from-a-chatuser работает хорошо, стабильно. Только непонятна строка else if (msgBase is MessageService ms. Эта строка ни разу ни на одном канале не срабатывала.
Re[15]: Как получать посты в каналах телеграм по WebSocket?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.08.24 05:21
Оценка: 1 (1)
Здравствуйте, Passerby, Вы писали:
P>Программа https://wiz0u.github.io/WTelegramClient/EXAMPLES#fetch-all-messages-history-from-a-chatuser работает хорошо, стабильно. Только непонятна строка else if (msgBase is MessageService ms. Эта строка ни разу ни на одном канале не срабатывала.
Значит, этот тип сообщений в этих каналах не используют.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.