|
@@ -32,8 +32,8 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
private async Task FirstDay()
|
|
|
{
|
|
|
IsDay = true;
|
|
|
- await PlayersCh.SendSticker(Stickers.Sticker["Day"]);
|
|
|
- await PlayersCh.Send(strings.first_day_message);
|
|
|
+ await PlayersMessageChannel.SendSticker(Stickers.Sticker["Day"]);
|
|
|
+ await PlayersMessageChannel.Send(strings.first_day_message);
|
|
|
await Task.Run(async() =>
|
|
|
{
|
|
|
var turnsCount = _turnOrder.Count;
|
|
@@ -42,7 +42,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
{
|
|
|
var player = _turnOrder.Dequeue();
|
|
|
if(!player.IsPlaying) continue;
|
|
|
- await PlayersCh.Send($"{strings.now_turn} ({player.TurnOrder}) {player.NickName}");
|
|
|
+ await PlayersMessageChannel.Send($"{strings.now_turn} ({player.TurnOrder}) {player.NickName}");
|
|
|
if (TimerEnabled) await Bot.SendWithMarkdown2(player.ChatId, strings.you_turn_say);
|
|
|
await player.CurrentRole.SpeakAction();
|
|
|
if (firstPlayer != null && player.IsPlaying) _turnOrder.Enqueue(player);
|
|
@@ -90,8 +90,8 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
}
|
|
|
//Stop updating games stats
|
|
|
|
|
|
- await PlayersCh.SendSticker(Stickers.Sticker["Night"]);
|
|
|
- await PlayersCh.Send(strings.city_falls_asleep);
|
|
|
+ await PlayersMessageChannel.SendSticker(Stickers.Sticker["Night"]);
|
|
|
+ await PlayersMessageChannel.Send(strings.city_falls_asleep);
|
|
|
var mafia = Players.Values.Where(player => player.GetRole() is Roles.Mafia).ToArray();
|
|
|
var don = Players.Values.FirstOrDefault(player => player.GetRole() is Roles.Don);
|
|
|
var dame = Players.Values.FirstOrDefault(player => player.GetRole() is Roles.Dame);
|
|
@@ -99,7 +99,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
if (don != null) message += $"\n({don.TurnOrder}) {don.NickName} - {roles.Don}";
|
|
|
if (dame != null) message += $"\n({dame.TurnOrder}) {dame.NickName} - {roles.Dame}";
|
|
|
message = mafia.Aggregate(message, (current, player) => current + $"\n({player.TurnOrder}) {player.NickName}");
|
|
|
- await _mafiaCh.Send(message);
|
|
|
+ await MafiaMessageChannel.Send(message);
|
|
|
var resetEvent = new ManualResetEvent(false);
|
|
|
var timer = new Timer
|
|
|
{
|
|
@@ -168,10 +168,10 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
discussionTimer.Elapsed += async (_, _) =>
|
|
|
{
|
|
|
foreach (var player in Players.Values) player.IsSpeaker = false;
|
|
|
- await PlayersCh.Send(strings.day_discussion_ended);
|
|
|
+ await PlayersMessageChannel.Send(strings.day_discussion_ended);
|
|
|
discussionEnded.Set();
|
|
|
};
|
|
|
- await PlayersCh.Send(strings.disscution_time);
|
|
|
+ await PlayersMessageChannel.Send(strings.disscution_time);
|
|
|
discussionTimer.Start();
|
|
|
discussionEnded.WaitOne();
|
|
|
|
|
@@ -183,7 +183,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
if(!Players.ContainsKey(player.Id)) continue;
|
|
|
if (!player.IsBlocked && player.IsAlive)
|
|
|
{
|
|
|
- await PlayersCh.Send($"{strings.now_turn} ({player.TurnOrder}) {player.NickName}");
|
|
|
+ await PlayersMessageChannel.Send($"{strings.now_turn} ({player.TurnOrder}) {player.NickName}");
|
|
|
if (TimerEnabled) await Bot.SendWithMarkdown2(player.ChatId, strings.you_turn_say);
|
|
|
await player.CurrentRole.SpeakAction();
|
|
|
if (Players.ContainsKey(player.Id)) await player.CurrentRole.VotingAction(VoteUpList.Count == 0);
|
|
@@ -197,8 +197,8 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
private async Task NightPhase()
|
|
|
{
|
|
|
IsDay = false;
|
|
|
- await PlayersCh.SendSticker(Stickers.Sticker["Night"]);
|
|
|
- await PlayersCh.Send(strings.city_falls_asleep);
|
|
|
+ await PlayersMessageChannel.SendSticker(Stickers.Sticker["Night"]);
|
|
|
+ await PlayersMessageChannel.Send(strings.city_falls_asleep);
|
|
|
await Task.Run(async () =>
|
|
|
{
|
|
|
var resetEvent = new ManualResetEvent(false);
|
|
@@ -270,11 +270,11 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
if(!alive && Players[id].GetRole() is Roles.Don or Roles.Dame or Roles.Mafia
|
|
|
&& PlayersRole.ContainsKey(Roles.Werewolf) && PlayersRole[Roles.Werewolf].Count == 1)
|
|
|
await ((WerewolfRole) PlayersRole[Roles.Werewolf][0].CurrentRole).TransformToMafia();
|
|
|
- await PlayersCh.SendTo(id, alive ? strings.you_will_be_ressurected : strings.you_will_be_killed);
|
|
|
+ await PlayersMessageChannel.SendTo(id, alive ? strings.you_will_be_ressurected : strings.you_will_be_killed);
|
|
|
}
|
|
|
message += '\n' + mafiaNotAgree;
|
|
|
- await PlayersCh.SendSticker(Stickers.Sticker["Day"]);
|
|
|
- await PlayersCh.Send(message);
|
|
|
+ await PlayersMessageChannel.SendSticker(Stickers.Sticker["Day"]);
|
|
|
+ await PlayersMessageChannel.Send(message);
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -290,7 +290,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
await voter.CurrentRole.VotingAction(contendersCopy.Where(p => Players.ContainsKey(p.Id)).ToList());
|
|
|
var timer = new Timer {Interval = Constants.VOTE_KILL_INTERVAL, AutoReset = false};
|
|
|
var resetEvent = new ManualResetEvent(false);
|
|
|
- timer.Elapsed += async(_, _) =>
|
|
|
+ timer.Elapsed += async (_, _) =>
|
|
|
{
|
|
|
foreach (var voter in votersPlayers.Where(p => !VoteKillList.ContainsKey(p.Id) && Players.ContainsKey(p.Id)))
|
|
|
await voter.CurrentRole.RandomVoting();
|
|
@@ -308,7 +308,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
switch (VoteUpList.Count)
|
|
|
{
|
|
|
case 0:
|
|
|
- await PlayersCh.Send(strings.nothing_up_to_vote);
|
|
|
+ await PlayersMessageChannel.Send(strings.nothing_up_to_vote);
|
|
|
break;
|
|
|
case 1:
|
|
|
{
|
|
@@ -322,7 +322,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
switch (VoteUpList.Count)
|
|
|
{
|
|
|
case 0:
|
|
|
- await PlayersCh.Send(strings.nothing_up_to_dispatch);
|
|
|
+ await PlayersMessageChannel.Send(strings.nothing_up_to_dispatch);
|
|
|
break;
|
|
|
case 1:
|
|
|
await VoteUpList[0].CurrentRole.Dispatch();
|
|
@@ -338,13 +338,13 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
switch (VoteUpList.Count)
|
|
|
{
|
|
|
case 0:
|
|
|
- await PlayersCh.Send(strings.nothing_up_to_dispatch);
|
|
|
+ await PlayersMessageChannel.Send(strings.nothing_up_to_dispatch);
|
|
|
break;
|
|
|
case 1:
|
|
|
await VoteUpList[0].CurrentRole.Dispatch();
|
|
|
break;
|
|
|
default:
|
|
|
- await PlayersCh.Send(strings.villagers_could_not_decide);
|
|
|
+ await PlayersMessageChannel.Send(strings.villagers_could_not_decide);
|
|
|
foreach (var alive in VoteUpList)
|
|
|
alive.ElderRoleAchievementEvent();
|
|
|
break;
|
|
@@ -369,7 +369,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
$"({Players[targetId].TurnOrder}) {Players[targetId].NickName}" : "";
|
|
|
}
|
|
|
if (message == strings.results_of_voting) message = strings.no_one_voted;
|
|
|
- await PlayersCh.Send(message);
|
|
|
+ await PlayersMessageChannel.Send(message);
|
|
|
|
|
|
var votes = VoteUpList.Where(p=>Players.ContainsKey(p.Id))
|
|
|
.GroupBy(p => p.Id)
|
|
@@ -391,8 +391,8 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
{
|
|
|
if (targetId == 0)
|
|
|
{
|
|
|
- if (!toKill) await PlayersCh.SendExcept(playerId, $"{Players[playerId].NickName} {strings.skip_vote}");
|
|
|
- await PlayersCh.EditTo(playerId, messageId, strings.you_skip_vote);
|
|
|
+ if (!toKill) await PlayersMessageChannel.SendExcept(playerId, $"{Players[playerId].NickName} {strings.skip_vote}");
|
|
|
+ await PlayersMessageChannel.EditTo(playerId, messageId, strings.you_skip_vote);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -404,13 +404,13 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
{
|
|
|
if (playerId != targetId)
|
|
|
{
|
|
|
- await PlayersCh.SendExcept(playerId, $"{Players[playerId].NickName} {strings.put_up_vote_to} {Players[targetId].NickName}");
|
|
|
- await PlayersCh.EditTo(playerId, messageId, $"{strings.you_vote_player} {Players[targetId].NickName}");
|
|
|
+ await PlayersMessageChannel.SendExcept(playerId, $"{Players[playerId].NickName} {strings.put_up_vote_to} {Players[targetId].NickName}");
|
|
|
+ await PlayersMessageChannel.EditTo(playerId, messageId, $"{strings.you_vote_player} {Players[targetId].NickName}");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- await PlayersCh.SendExcept(playerId, $"{Players[playerId].NickName} {strings.vote_to_self}");
|
|
|
- await PlayersCh.EditTo(playerId, messageId, strings.you_vote_to_self);
|
|
|
+ await PlayersMessageChannel.SendExcept(playerId, $"{Players[playerId].NickName} {strings.vote_to_self}");
|
|
|
+ await PlayersMessageChannel.EditTo(playerId, messageId, strings.you_vote_to_self);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -420,15 +420,15 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
if (messageId != -1)
|
|
|
{
|
|
|
if (playerId != targetId)
|
|
|
- await PlayersCh.EditTo(playerId, messageId, $"{strings.you_vote_to_kill} {Players[targetId].NickName}");
|
|
|
+ await PlayersMessageChannel.EditTo(playerId, messageId, $"{strings.you_vote_to_kill} {Players[targetId].NickName}");
|
|
|
else
|
|
|
- await PlayersCh.EditTo(playerId, messageId, strings.you_vote_to_kill_self);
|
|
|
+ await PlayersMessageChannel.EditTo(playerId, messageId, strings.you_vote_to_kill_self);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else await PlayersCh.SendTo(playerId, strings.this_player_left_from_game);
|
|
|
+ else await PlayersMessageChannel.SendTo(playerId, strings.this_player_left_from_game);
|
|
|
}
|
|
|
|
|
|
private async Task EndOfGame()
|
|
@@ -449,8 +449,8 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
|
|
|
if (aliveMafia == 0)
|
|
|
{
|
|
|
- await PlayersCh.Send(strings.villagers_won + additionalResult, exceptDied: false);
|
|
|
- await PlayersCh.SendSticker(Stickers.Sticker["VillagerWins"]);
|
|
|
+ await PlayersMessageChannel.Send(strings.villagers_won + additionalResult);
|
|
|
+ await PlayersMessageChannel.SendSticker(Stickers.Sticker["VillagerWins"]);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -460,8 +460,8 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
PlayersRole[Roles.Werewolf][0];
|
|
|
player.LawyerRoleAchievementEvent();
|
|
|
}
|
|
|
- await PlayersCh.Send(strings.mafia_won + additionalResult, exceptDied: false);
|
|
|
- await PlayersCh.SendSticker(Stickers.Sticker["MafiaWins"]);
|
|
|
+ await PlayersMessageChannel.Send(strings.mafia_won + additionalResult);
|
|
|
+ await PlayersMessageChannel.SendSticker(Stickers.Sticker["MafiaWins"]);
|
|
|
}
|
|
|
if (PlayersRole.ContainsKey(Roles.Fool) && PlayersRole[Roles.Fool].Count == 1)
|
|
|
await PlayersRole[Roles.Fool][0].CurrentRole.IsWon();
|
|
@@ -478,9 +478,9 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
statsQueryOpenRoles += $" id = {player.Id} OR";
|
|
|
}
|
|
|
|
|
|
- await PlayersCh.Send(rolesMessage);
|
|
|
+ await PlayersMessageChannel.Send(rolesMessage);
|
|
|
|
|
|
- //var updatingNotifications = await PlayersCh.SendWithReturn("Update data! Wait until it disappears");
|
|
|
+ //var updatingNotifications = await Ch.SendWithReturn("Update data! Wait until it disappears");
|
|
|
|
|
|
statsQueryStats = statsQueryStats.Substring(0, statsQueryStats.Length - 2);
|
|
|
statsQueryOpenRoles = statsQueryOpenRoles.Substring(0, statsQueryOpenRoles.Length - 2);
|
|
@@ -580,7 +580,7 @@ namespace MafiaTelegramBot.Game.GameRooms
|
|
|
else
|
|
|
{
|
|
|
await Bot.SendWithMarkdown2(Owner.ChatId, strings.thanks_for_game, Keyboard.OwnerGameMenu);
|
|
|
- await PlayersCh.SendExcept(Owner.Id, strings.thanks_for_game, Keyboard.PlayerGameMenu);
|
|
|
+ await PlayersMessageChannel.SendExcept(Owner.Id, strings.thanks_for_game, Keyboard.PlayerGameMenu);
|
|
|
}
|
|
|
if (Players.Count <= Constants.MEMORY_CLEANER_INTERVAL) StartTimer();
|
|
|
});
|