示例#1
0
 private static async Task AddCallbackQuery(TelegramBaseDbContext dbContext, Update update, int id)
 {
     //await dbContext.Messages.AddAsync(new DAL.Entities.Message()
     //{
     //    Id = update.CallbackQuery..MessageId,
     //    AuthorSignature = update.CallbackQuery.AuthorSignature,
     //    Caption = message.Caption,
     //    ChannelChatCreated = message.ChannelChatCreated,
     //    ChatId = message.Chat.Id,
     //    ConnectedWebsite = message.ConnectedWebsite,
     //    Date = message.Date,
     //    DeleteChatPhoto = message.DeleteChatPhoto,
     //    EditDate = message.EditDate,
     //    ForwardDate = message.ForwardDate,
     //    ForwardFromMessageId = message.ForwardFromMessageId,
     //    ForwardSenderName = message.ForwardSenderName,
     //    ForwardSignature = message.ForwardSignature,
     //    FromUserId = message.From.Id,
     //    GroupChatCreated = message.GroupChatCreated,
     //    MediaGroupId = message.MediaGroupId,
     //    MigrateFromChatId = message.MigrateFromChatId,
     //    MigrateToChatId = message.MigrateToChatId,
     //    NewChatTitle = message.NewChatTitle,
     //    SupergroupChatCreated = message.SupergroupChatCreated,
     //    Text = update.CallbackQuery.Data,
     //    Type = (int)MessageType.Text,
     //    UserId = update.CallbackQuery.From.Id,
     //});
 }
示例#2
0
        private static async Task AddOrUpdateUser(TelegramBaseDbContext dbContext, User user)
        {
            var dbUser = await dbContext.Users.FirstOrDefaultAsync(x => x.Id == user.Id);

            if (dbUser == null)
            {
                dbContext.Users.Add(new DAL.Entities.User()
                {
                    Id                      = user.Id,
                    Created                 = DateTime.UtcNow,
                    CanJoinGroups           = user.CanJoinGroups,
                    CanReadAllGroupMessages = user.CanReadAllGroupMessages,
                    FirstName               = user.FirstName,
                    LastName                = user.LastName,
                    UserName                = user.Username,
                    IsBot                   = user.IsBot,
                    LanguageCode            = user.LanguageCode,
                    SupportsInlineQueries   = user.SupportsInlineQueries
                });
            }
            else
            {
                dbUser.CanJoinGroups           = user.CanJoinGroups;
                dbUser.CanReadAllGroupMessages = user.CanReadAllGroupMessages;
                dbUser.FirstName             = user.FirstName;
                dbUser.LastName              = user.LastName;
                dbUser.UserName              = user.Username;
                dbUser.IsBot                 = user.IsBot;
                dbUser.LanguageCode          = user.LanguageCode;
                dbUser.SupportsInlineQueries = user.SupportsInlineQueries;
                dbContext.Users.Update(dbUser);
            }
        }
示例#3
0
 private static async Task AddMessage(TelegramBaseDbContext dbContext, Message message)
 {
     await dbContext.Messages.AddAsync(new DAL.Entities.Message()
     {
         Id = message.MessageId,
         AuthorSignature    = message.AuthorSignature,
         Caption            = message.Caption,
         ChannelChatCreated = message.ChannelChatCreated,
         ChatId             = message.Chat.Id,
         ConnectedWebsite   = message.ConnectedWebsite,
         Date                  = message.Date,
         DeleteChatPhoto       = message.DeleteChatPhoto,
         EditDate              = message.EditDate,
         ForwardDate           = message.ForwardDate,
         ForwardFromMessageId  = message.ForwardFromMessageId,
         ForwardSenderName     = message.ForwardSenderName,
         ForwardSignature      = message.ForwardSignature,
         FromUserId            = message.From.Id,
         GroupChatCreated      = message.GroupChatCreated,
         MediaGroupId          = message.MediaGroupId,
         MigrateFromChatId     = message.MigrateFromChatId,
         MigrateToChatId       = message.MigrateToChatId,
         NewChatTitle          = message.NewChatTitle,
         SupergroupChatCreated = message.SupergroupChatCreated,
         Text                  = message.Text,
         Type                  = (int)message.Type,
         UserId                = message.From.Id,
     });
 }
示例#4
0
 private static async Task AddUpdate(TelegramBaseDbContext dbContext, long updateId, UpdateType updateType, long messageId)
 {
     await dbContext.Updates.AddAsync(new DAL.Entities.Update()
     {
         Id        = updateId,
         Type      = (int)updateType,
         MessageId = messageId
     });
 }
示例#5
0
 private static async Task AddInlineQuery(TelegramBaseDbContext dbContext, Update update, int id)
 {
     await dbContext.Messages.AddAsync(new DAL.Entities.Message()
     {
         Id     = id,
         Text   = update.InlineQuery.Query,
         Type   = (int)update.Type,
         UserId = update.InlineQuery.From.Id
     });
 }
示例#6
0
        private static async Task AddOrUpdateChat(TelegramBaseDbContext dbContext, Chat chat)
        {
            var dbChat = await dbContext.Chats.FirstOrDefaultAsync(x => x.Id == chat.Id);

            var dbChatPermission = await dbContext.ChatPermissions.FirstOrDefaultAsync(x => x.ChatId == chat.Id);

            if (dbChat == null)
            {
                dbContext.Chats.Add(new DAL.Entities.Chat()
                {
                    Id               = chat.Id,
                    Created          = DateTime.UtcNow,
                    FirstName        = chat.FirstName,
                    LastName         = chat.LastName,
                    CanSetStickerSet = chat.CanSetStickerSet,
                    Description      = chat.Description,
                    InviteLink       = chat.InviteLink,
                    SlowModeDelay    = chat.SlowModeDelay,
                    StickerSetName   = chat.StickerSetName,
                    Title            = chat.Title,
                    Username         = chat.Username,
                    Type             = (int)chat.Type
                });
            }
            else
            {
                dbChat.FirstName        = chat.FirstName;
                dbChat.LastName         = chat.LastName;
                dbChat.CanSetStickerSet = chat.CanSetStickerSet;
                dbChat.Description      = chat.Description;
                dbChat.InviteLink       = chat.InviteLink;
                dbChat.SlowModeDelay    = chat.SlowModeDelay;
                dbChat.StickerSetName   = chat.StickerSetName;
                dbChat.Title            = chat.Title;
                dbChat.Username         = chat.Username;
                dbChat.Type             = (int)chat.Type;
                dbContext.Chats.Update(dbChat);
            }

            if (dbChatPermission == null)
            {
                dbContext.ChatPermissions.Add(new DAL.Entities.ChatPermission()
                {
                    ChatId = chat.Id,
                    CanAddWebPagePreviews = chat.Permissions?.CanAddWebPagePreviews,
                    CanChangeInfo         = chat.Permissions?.CanChangeInfo,
                    CanInviteUsers        = chat.Permissions?.CanInviteUsers,
                    CanPinMessages        = chat.Permissions?.CanPinMessages,
                    CanSendMediaMessages  = chat.Permissions?.CanSendMediaMessages,
                    CanSendMessages       = chat.Permissions?.CanSendMessages,
                    CanSendOtherMessages  = chat.Permissions?.CanSendOtherMessages,
                    CanSendPolls          = chat.Permissions?.CanSendPolls,
                });
            }
            else
            {
                dbChatPermission.ChatId = chat.Id;
                dbChatPermission.CanAddWebPagePreviews = chat.Permissions?.CanAddWebPagePreviews;
                dbChatPermission.CanChangeInfo         = chat.Permissions?.CanInviteUsers;
                dbChatPermission.CanInviteUsers        = chat.Permissions?.CanInviteUsers;
                dbChatPermission.CanPinMessages        = chat.Permissions?.CanPinMessages;
                dbChatPermission.CanSendMediaMessages  = chat.Permissions?.CanSendMediaMessages;
                dbChatPermission.CanSendMessages       = chat.Permissions?.CanSendMessages;
                dbChatPermission.CanSendOtherMessages  = chat.Permissions?.CanSendOtherMessages;
                dbChatPermission.CanSendPolls          = chat.Permissions?.CanSendPolls;
                dbContext.ChatPermissions.Update(dbChatPermission);
            }
        }