// TODO: Move to TelegramUtils for both // Separate implementation for Mentions - PartyOptions has its own as well private MessagesChatFull MentionsFetchFullChat(string address, bool superGroup, TelegramClient optionalClient = null) { using (var client = new OptionalClientDisposable(this, optionalClient)) { MessagesChatFull fullChat = null; if (!superGroup) { fullChat = (MessagesChatFull) TelegramUtils.RunSynchronously( client.Client.Methods.MessagesGetFullChatAsync(new MessagesGetFullChatArgs { ChatId = uint.Parse(address) })); } else { fullChat = (MessagesChatFull) TelegramUtils.RunSynchronously( client.Client.Methods.ChannelsGetFullChannelAsync(new ChannelsGetFullChannelArgs { Channel = new InputChannel { ChannelId = uint.Parse(address), AccessHash = TelegramUtils.GetChannelAccessHash(_dialogs.GetChat(uint.Parse(address))) } })); } _dialogs.AddUsers(fullChat.Users); _dialogs.AddChats(fullChat.Chats); return(fullChat); } }
private void SendReceivedMessages(TelegramClient optionalClient, uint maxId) { Task.Factory.StartNew(() => { using (var disposable = new OptionalClientDisposable(this, optionalClient)) { var items = TelegramUtils.RunSynchronously(disposable.Client.Methods .MessagesReceivedMessagesAsync(new MessagesReceivedMessagesArgs { MaxId = maxId, })); DebugPrint("items " + ObjectDumper.Dump(items)); } }); }