コード例 #1
0
        private async Task AddThisChat(string inviteLink, Chat chat, int replyToMessageId)
        {
            if (chat.IsPrivate())
            {
                await SendMessage(chat.Id, "Зачем ты пытаешься добавить наш личный чат в список чатов? >_>", replyToMessageId);

                return;
            }

            if (!chat.IsGroup())
            {
                return;
            }

            if (inviteLink.IsBlank() && chat.InviteLink.IsBlank())
            {
                try
                {
                    chat.InviteLink = await BotClient.ExportChatInviteLinkAsync(chat.Id);
                }
                catch (ApiRequestException e)
                {
                    Logger.LogWarning("Can't get invite link for chat {chatId}! [ExMessage: {exMessage}, StackTrace: {stackTrace}]", chat.Id, e.Message, e.StackTrace);
                }

                if (chat.InviteLink.IsBlank())
                {
                    await SendMessage(chat.Id, "Или дайте мне ссылку-приглашение вместе с коммандой, или сделайте админом, чтобы я сам мог создать её.", replyToMessageId);

                    return;
                }
            }

            await _chatRepository.AddOrUpdate(new SavedChat(chat.Id, chat.Title, chat.InviteLink));

            await SendMessage(chat.Id, "Чат добавлен! Спасибо за помощь боту!", replyToMessageId);
        }