Skip to content

Commit 17df672

Browse files
Fix ending support session
1 parent 62f9bf1 commit 17df672

File tree

2 files changed

+40
-35
lines changed

2 files changed

+40
-35
lines changed

Unifiedban.Terminal/Bot/Functions.cs

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -529,40 +529,45 @@ public static void CacheUsername(Message message)
529529

530530
public static void UserLeftAction(Message message)
531531
{
532-
if (Utils.BotTools.IsUserOperator(message.LeftChatMember.Id))
532+
if (message.LeftChatMember == null) return;
533+
ChatTools.RemoveChatAdmin(message.Chat.Id, message.LeftChatMember.Id);
534+
if (!BotTools.IsUserOperator(message.LeftChatMember.Id)) return;
535+
if (CacheData.ActiveSupport
536+
.Contains(message.Chat.Id)) return;
537+
538+
if (CacheData.CurrentChatOperators.ContainsKey(message.Chat.Id))
533539
{
534-
if (!CacheData.ActiveSupport
535-
.Contains(message.Chat.Id))
536-
{
537-
CacheData.ActiveSupport.Remove(message.Chat.Id);
538-
CacheData.CurrentChatOperators.Remove(message.Chat.Id);
539-
540-
Manager.BotClient.SendTextMessageAsync(
541-
chatId: message.Chat.Id,
542-
parseMode: ParseMode.Markdown,
543-
text: String.Format(
544-
"Support session *{0}* ended since operator left the chat.",
545-
message.LeftChatMember.Username)
546-
);
547-
MessageQueueManager.EnqueueLog(new ChatMessage()
548-
{
549-
ParseMode = ParseMode.Markdown,
550-
Text = String.Format(
551-
"*[Log]*" +
552-
"Support session ended since operator *{0}* left the chat." +
553-
"\nChatId: `{1}`" +
554-
"\nChat: `{2}`" +
555-
"\nUserId: `{3}`" +
556-
"\n\n*hash_code:* #UB{4}-{5}",
557-
message.LeftChatMember.Username,
558-
message.Chat.Id,
559-
message.Chat.Title,
560-
message.LeftChatMember.Id,
561-
message.Chat.Id.ToString().Replace("-", ""),
562-
Guid.NewGuid())
563-
});
564-
}
540+
CacheData.CurrentChatOperators[message.Chat.Id].Remove(message.LeftChatMember.Id);
565541
}
542+
543+
if (CacheData.CurrentChatOperators[message.Chat.Id].Count > 0) return;
544+
545+
CacheData.CurrentChatOperators.Remove(message.Chat.Id);
546+
CacheData.ActiveSupport.Remove(message.Chat.Id);
547+
548+
Manager.BotClient.SendTextMessageAsync(
549+
chatId: message.Chat.Id,
550+
parseMode: ParseMode.Markdown,
551+
text: $"Support session ended since " +
552+
$"operator *{message.LeftChatMember.Username}* left the chat."
553+
);
554+
MessageQueueManager.EnqueueLog(new ChatMessage()
555+
{
556+
ParseMode = ParseMode.Markdown,
557+
Text = string.Format(
558+
"*[Log]*" +
559+
"Support session ended since operator *{0}* left the chat." +
560+
"\nChatId: `{1}`" +
561+
"\nChat: `{2}`" +
562+
"\nUserId: `{3}`" +
563+
"\n\n*hash_code:* #UB{4}-{5}",
564+
message.LeftChatMember.Username,
565+
message.Chat.Id,
566+
message.Chat.Title,
567+
message.LeftChatMember.Id,
568+
message.Chat.Id.ToString().Replace("-", ""),
569+
Guid.NewGuid())
570+
});
566571
}
567572

568573
private static void EnableDashboardForOwnerAndAdder(Chat chat)

Unifiedban.Terminal/Unifiedban.Terminal.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<TargetFramework>net5.0</TargetFramework>
6-
<Version>3.13.10</Version>
6+
<Version>3.13.11</Version>
77
<Authors>fabricators</Authors>
88
<Product>Unifiedban Terminal</Product>
99
<Copyright>Fabricators 2022</Copyright>
1010
<RepositoryUrl>https://github.com/unified-ban/Terminal</RepositoryUrl>
1111
<RepositoryType>GIT</RepositoryType>
12-
<AssemblyVersion>3.13.10</AssemblyVersion>
13-
<FileVersion>3.13.10.1</FileVersion>
12+
<AssemblyVersion>3.13.11</AssemblyVersion>
13+
<FileVersion>3.13.11.1</FileVersion>
1414
<LangVersion>9</LangVersion>
1515
<Nullable>enable</Nullable>
1616
</PropertyGroup>

0 commit comments

Comments
 (0)