//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。有人可以帮忙吗?
您说得很对。
//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");