Skip to content
This repository has been archived by the owner on Dec 5, 2021. It is now read-only.

Как подписаться на прослушку сообщений КАНАЛА в TLSharp? #1024

Open
megaproes opened this issue Apr 28, 2021 · 1 comment

Comments

@megaproes
Copy link

megaproes commented Apr 28, 2021

Здравствуйте! Я зеленый новичок-новичок в c#, но потребовалась невероятно трудная задача: считывать сообщения из телеграмм-КАНАЛА. Их можно прослушивать, я имею ввиду как только что-то написалось в группу -- то чтобы это сразу же отобразилось в программе. А можно просто хотя бы получить их... Но первый вариант нужнее и важнее.

Я пробовал как всё в примерах даётся, пробовал, но так и не смог понять как прослушивать сообщения. Вот что я смог сделать каким-то странным образом сам:
int apiId = ...;

string apiHash = "...";

var client = new TelegramClient(apiId, apiHash);
await client.ConnectAsync();

string user_number = "...";

var hash = await client.SendCodeRequestAsync(user_number);

Console.WriteLine("Put code from telegram: ");
string code_from_telegram = Console.ReadLine();

var user = await client.MakeAuthAsync(user_number, hash, code_from_telegram);

// get available contacts
var dialogs = await client.GetUserDialogsAsync() as TLDialogs;

var chat = dialogs.Chats
.Where(c => c.GetType() == typeof(TLChannel))
.Cast<TLChannel>()
.FirstOrDefault(c => c.Title == "....");

TLAbsInputPeer inputPeer = new TLInputPeerChannel { ChannelId = chat.Id, AccessHash = chat.AccessHash.Value };
var history = (TLChannelMessages)await client.GetHistoryAsync(inputPeer);

Console.WriteLine(history.Count.ToString());

Всё, что оно делает -- просто получает количество сообщений из чата)
В Issue #1008 там @Camanchaca написал, что можно выполнить какой-то мне не понятный запрос в классе TLRequestGetFullChannel, вот уже 3-4 день я пробую выполнить этот запрос)

Какие только книжечки я не читал по классам, какие только туториалы и каких только я гуру не спрашивал (гуру не помогали) -- я не смог постичь всей истины этого класса...
Я в программировании новичок, но задачу нужно решить в кратчайшее время. Поэтому я был бы очень благодарен если бы вы показали как можно взять сообщение из КАНАЛА и запихнуть его в переменную, чтобы я потом смог обработать)

Вряд ли мне удастся решить самому, что нужно. Поэтому я полагаюсь на вашу поддержку и понимание!
Спасибочки и удачки Вам всем!

@asvdvl
Copy link

asvdvl commented Jun 29, 2021

На сколько я понимаю "прослушка"(если правильно понял - событие) сообщений еще не реализовано, однако, есть другое (костыльное) решение issue 580. Удачи.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants