我试图通过c#中的TLSharp库在电报上的订阅频道上检测编辑或删除的消息.
1- while(true)循环我得到最新的更新.
2-当我删除或编辑测试消息时,我只收到TLUpdateChannelTooLong.
3-然后我使用client.GetHistoryAsync函数来获取频道消息,并检查他们的EditDate.
但是我不知道我应该在历史中深入了解多少,而且我很难用这段代码找到已删除的消息.
有没有解决方案可以轻松安全地找到已删除/已编辑的邮件?
我的部分代码:
state = await client.SendRequestAsync<TLState>(new TLRequestGetState());
while (true)
{
await Task.Delay(1000);
var req = new TLRequestGetDifference() { Date = state.Date, Pts = state.Pts, Qts = state.Qts };
TLDifference diff = null;
try
{
diff = await client.SendRequestAsync<TLAbsDifference>(req) as TLDifference;
}
catch (Exception ex)
{
HandleThisException(ex);
}
//--
if (diff != null)
{
state = await client.SendRequestAsync<TLState>(new TLRequestGetState());
foreach (var upd in diff.OtherUpdates.OfType<TLUpdateNewChannelMessage>())
{
var tm = (upd.Message as TLMessage);
if …Run Code Online (Sandbox Code Playgroud)