Skip to content

Commit

Permalink
Merge branch 'development'
Browse files Browse the repository at this point in the history
  • Loading branch information
Pietro di Caprio committed Jun 17, 2020
2 parents 17add37 + b7292e1 commit e20c120
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 48 deletions.
88 changes: 45 additions & 43 deletions Unifiedban.Terminal/Bot/Command/Report.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using System.Linq;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
using Unifiedban.Models;

namespace Unifiedban.Terminal.Bot.Command
{
Expand All @@ -16,60 +17,61 @@ public class Report : ICommand

public void Execute(Message message)
{
Manager.BotClient.DeleteMessageAsync(message.Chat.Id, message.MessageId);

DateTime last;
lastReport.TryGetValue(message.Chat.Id, out last);
if (last != null)
if ((DateTime.UtcNow - last).TotalSeconds < 30)
return;

string author = message.From.Username == null
? message.From.FirstName + " " + message.From.LastName
: "@" + message.From.Username;
string logMessage = String.Format(
"*[Report]*\n" +
"A user has reported a message\n" +
"⚠ do not open links you don't know ⚠\n" +
"\nChat: `{0}`" +
"\nAuthor: `{1}`" +
"\nUserId: `{2}`" +
"\nOriginal message link: https://t.me/c/{3}/{4}\n" +
"\n\n*hash_code:* #UB{5}-{6}",
message.Chat.Title,
author,
message.From.Id,
message.Chat.Id,
message.MessageId,
message.Chat.Id.ToString().Replace("-", ""),
Guid.NewGuid());


MessageQueueManager.EnqueueLog(new ChatMessage()
{
ParseMode = ParseMode.Markdown,
Text = logMessage
});

if (!String.IsNullOrEmpty(message.Chat.Username))
{

Manager.BotClient.SendTextMessageAsync(
chatId: CacheData.ControlChatId,
parseMode: ParseMode.Markdown,
text: String.Format(
"User *{0}:{1}* from group *{2}:[{3}]({4})* sent a /report\n\n" +
message.Text.Remove(0, 7),
message.From.Id,
message.From.Username,
message.Chat.Id,
message.Chat.Title,
"https://t.me/" + message.Chat.Username)
);

Manager.BotClient.SendTextMessageAsync(
chatId: message.Chat.Id,
parseMode: ParseMode.Markdown,
text: String.Format(
"The Operators have been advised about your call.\n" +
"Wait of any of them to join your group.")
);
MessageQueueManager.EnqueueMessage(
new ChatMessage()
{
Timestamp = DateTime.UtcNow,
Chat = message.Chat,
Text = "The Operators have been advised about your call.\n" +
"Wait of any of them to join your group."
});
}
else
{
Manager.BotClient.SendTextMessageAsync(
chatId: CacheData.ControlChatId,
parseMode: ParseMode.Markdown,
text: String.Format(
"User *{0}:{1}* from group *{2}:{3}* sent a /report.\n" +
"The group is private. Check for him in our [support group](https://t.me/unifiedban_group).\n\n" +
message.Text.Remove(0, 7),
message.From.Id,
message.From.Username,
message.Chat.Id,
message.Chat.Title)
);

Manager.BotClient.SendTextMessageAsync(
chatId: message.Chat.Id,
parseMode: ParseMode.Markdown,
text: String.Format(
"The Operators have been advised of your report but your group is private.\n" +
"Please join our [support group](https://t.me/unifiedban_group).")
);
MessageQueueManager.EnqueueMessage(
new ChatMessage()
{
Timestamp = DateTime.UtcNow,
Chat = message.Chat,
ParseMode = ParseMode.Markdown,
Text = "The Operators have been advised of your report but your group is private.\n" +
"Please join our [support group](https://t.me/unifiedban_group)."
});
}
}

Expand Down
5 changes: 3 additions & 2 deletions Unifiedban.Terminal/MessageQueue.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Threading.Tasks;
using Unifiedban.Models.Group;

namespace Unifiedban.Terminal
{
Expand Down Expand Up @@ -97,7 +98,7 @@ private void QueueTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
Date = DateTime.Now,
Function = "Unifiedban.Terminal.MessageQueue.QueueTimer_Elapsed.Send",
Level = Models.SystemLog.Levels.Error,
Message = ex.Message,
Message = "ChatId: " + TelegramChatId + " - " + ex.Message,
UserId = -1
});
if(ex.InnerException != null)
Expand All @@ -107,7 +108,7 @@ private void QueueTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
Date = DateTime.Now,
Function = "Unifiedban.Terminal.MessageQueue.QueueTimer_Elapsed.Send",
Level = Models.SystemLog.Levels.Error,
Message = ex.InnerException.Message,
Message = "ChatId: " + TelegramChatId + " - " + ex.InnerException.Message,
UserId = -1
});
}
Expand Down
6 changes: 3 additions & 3 deletions Unifiedban.Terminal/Utils/Parsers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ public static string VariablesParser(

string username = callbackQuery.From.Username != null ? "@" + callbackQuery.From.Username : callbackQuery.From.FirstName;
parsedText = parsedText.Replace("{{from_username}}", username);
parsedText = parsedText.Replace("{{from_first_name}}", callbackQuery.From.FirstName);
parsedText = parsedText.Replace("{{from_last_name}}", callbackQuery.From.LastName);
parsedText = parsedText.Replace("{{from_full_name}}", callbackQuery.From.FirstName + " " + callbackQuery.From.LastName);
parsedText = parsedText.Replace("{{first_name}}", callbackQuery.From.FirstName);
parsedText = parsedText.Replace("{{last_name}}", callbackQuery.From.LastName);
parsedText = parsedText.Replace("{{full_name}}", callbackQuery.From.FirstName + " " + callbackQuery.From.LastName);
parsedText = parsedText.Replace("{{from_id}}", callbackQuery.From.Id.ToString());
parsedText = parsedText.Replace("{{chat_title}}", callbackQuery.Message.Chat.Title);
parsedText = parsedText.Replace("{{chat_id}}", callbackQuery.Message.Chat.Id.ToString());
Expand Down

0 comments on commit e20c120

Please sign in to comment.