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, //}); }
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); } }
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, }); }
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 }); }
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 }); }
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); } }