示例#1
0
        private async Task <UpdateContext?> CreateContext(Update update)
        {
            switch (update.Type)
            {
            case UpdateType.Message:
            {
                var message = TgConverter.ToMessage(update.Message);
                var user    = TgConverter.ToUser(update.Message.From);
                // The only way to create chat with ownerId.
                // GetChat can pass ownerId to Converter.ToChat().
                var messenger = _bot.ResolveMessenger(message.MessengerSource);
                var chat      = await messenger.GetChat(update.Message.Chat.Id).ConfigureAwait(false);

                return(new UpdateContext(messenger, chat, user, message));
            }

            default:
                return(null);
            }
        }
示例#2
0
        public async Task <User?> GetUser(long userId)
        {
            var user = await _api.GetChatAsync(userId).ConfigureAwait(false);

            return(TgConverter.ToUser(user));
        }