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); } }
public async Task <User?> GetUser(long userId) { var user = await _api.GetChatAsync(userId).ConfigureAwait(false); return(TgConverter.ToUser(user)); }