コード例 #1
0
        // 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);
            }
        }
コード例 #2
0
ファイル: Telegram.cs プロジェクト: harper10/DisaOpenSource
 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));
         }
     }); 
 }