TLSharp向群组发送消息

问题描述 投票:0回答:1
//get user dialogs
var dialogs = await client.GetUserDialogsAsync() as TLDialogs;

//find channel by title
var chat = dialogs.Chats
                  .Where(c => c.GetType() == typeof(TLChat))
                  .Cast<TLChat>()
                  .FirstOrDefault(c => c.Title == "zgzxbhsrbhdrbh");

//send message
await client.SendMessageAsync(new TLInputPeerChannel() { ChannelId = chat.Id }, 
                                                         "OUR_MESSAGE");

我正在尝试这段代码,但它返回了我InvalidOperationException:CHANNEL_INVALID。有人可以帮忙吗?

c# telegram
1个回答
0
投票

您说得很对。

//Get dialogs
 var dialogs = await client.GetUserDialogsAsync();

//get user chats 
   var chats = ((TeleSharp.TL.Messages.TLDialogsSlice)dialogs).Chats;

//find channel by title
   var tlChannel = chats.Where(_ => _.GetType() == typeof(TLChannel))
                        .Select(_=>(TLChannel)_)
                        .Where(_=>_.Title.Contains("<Channel-Name>"))
                        .FirstOrDefault();
//send message
    await client.SendMessageAsync(new TLInputPeerChannel()
                    { ChannelId = tlChannel.Id, AccessHash =(long)tlChannel.AccessHash },
                    "OUR_MESSAGE");
© www.soinside.com 2019 - 2024. All rights reserved.