Bladeren bron

Registration new user bug fix

Tigran 4 jaren geleden
bovenliggende
commit
05c7293062

+ 2 - 11
MafiaTelegramBot/Commands/ChatMember/MyChatMemberHandler.cs

@@ -12,24 +12,15 @@ namespace MafiaTelegramBot.Commands.ChatMember
         {
             switch (update.MyChatMember.NewChatMember.Status)
             {
-                case ChatMemberStatus.Creator:
+                case ChatMemberStatus.Kicked:
                     User.Info.IsBlocked = true;
                     break;
                 case ChatMemberStatus.Administrator:
                     User.Info.IsBlocked = true;
                     break;
-                case ChatMemberStatus.Member:
+                default:
                     User.Info.IsBlocked = false;
                     break;
-                case ChatMemberStatus.Left:
-                    User.Info.IsBlocked = true;
-                    break;
-                case ChatMemberStatus.Kicked:
-                    User.Info.IsBlocked = true;
-                    break;
-                case ChatMemberStatus.Restricted:
-                    User.Info.IsBlocked = true;
-                    break;
             }
             return Task.FromResult(new Message());
         }

+ 6 - 4
MafiaTelegramBot/Controllers/MessageController.cs

@@ -26,14 +26,16 @@ namespace MafiaTelegramBot.Controllers
             {
                 return new User
                 {
-                    FirstName = chat.Title,
+                    FirstName = chat.Title ?? chat.FirstName,
+                    LastName = chat.Title == null ? chat.LastName : "",
                     Id = chat.Id,
-                    IsBot = true,
-                    LastName = "",
+                    IsBot = chat.Type != ChatType.Private,
                     LanguageCode = "ru",
                     Username = chat.Username
                 };
             }
+            var text = Newtonsoft.Json.JsonConvert.SerializeObject(update);
+            LogOut(text);
             
             try
             {
@@ -45,7 +47,7 @@ namespace MafiaTelegramBot.Controllers
                         await UpdateHandler.Factory(update.CallbackQuery.From, update.CallbackQuery.Data, new CallbackQueryHandler(null)),
                     UpdateType.ChannelPost =>
                         await UpdateHandler.Factory(ChatToUser(update.ChannelPost.Chat), update.ChannelPost.Text, new ChannelPost(null)),
-                    UpdateType.MyChatMember => await MyChatMemberHandler.Factory(update.MyChatMember.From),
+                    UpdateType.MyChatMember => await MyChatMemberHandler.Factory(ChatToUser(update.MyChatMember.Chat)),
                     _ => await UnknownUpdateHandlerAsync(update)
                 };
                 var unused = await handler.Execute(update);

+ 10 - 2
MafiaTelegramBot/DataBase/EntityDao/UserDao.cs

@@ -53,8 +53,16 @@ namespace MafiaTelegramBot.DataBase.EntityDao
                 NickName = user.FirstName + (user.FirstName != "" && user.LastName != "" ? " " : "") + user.LastName,
                 IsBlocked = user.IsBot
             };
-            await DataBase.Users.AddAsync(newUser);
-            return await GetPlayerById(user.Id);
+            var result = await DataBase.Users.AddAsync(newUser);
+            var player = new Player
+            {
+                Info = result.Entity,
+                OpenedRoles = await OpenedRolesDao.GetOpenedRolesById(user.Id),
+                Achievements = await AchievementsDao.GetAchievementsProgressById(user.Id),
+                Statistics = await StatisticsDao.GetStatisticsListById(user.Id)
+            };
+            ActiveUsers.Add(player.Info.Id, player);
+            return player;
         }
 
         public static async Task<bool> UserExists(long id)

+ 1 - 1
MafiaTelegramBot/Resources/Constants.cs

@@ -21,7 +21,7 @@ namespace MafiaTelegramBot.Resources
         
         public const int ACTIVE_MAFIA_CHANCE = 30;
         public const int ACTIVE_VILLAGER_CHANCE = 50;
-        public const int PLAYERS_TO_START_FAST_GAME = DEBUG ? 7 : 10;
+        public const int PLAYERS_TO_START_FAST_GAME = DEBUG ? 3 : 8;
         
         public const string SHOP_CURRENCY = "RUB";
         public static List<LabeledPrice> RANDOM_ROLE_PRICE = new()