mirror of
https://github.com/NoiTheCat/BirthdayBot.git
synced 2024-10-16 07:59:57 +00:00
Noi
ddcde10e09
All existing VB code was 'translated' to C# as closely as possible, with minor changes and additional notes. Currently untested and likely broken. Further commits will go toward making overall improvements until this version replaces the currently existing code.
47 lines
1.6 KiB
C#
47 lines
1.6 KiB
C#
using Discord.WebSocket;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace BirthdayBot
|
|
{
|
|
static class Common
|
|
{
|
|
/// <summary>
|
|
/// Formats a user's name to a consistent, readable format which makes use of their nickname.
|
|
/// </summary>
|
|
public static string FormatName(SocketGuildUser member, bool ping)
|
|
{
|
|
if (ping) return member.Mention;
|
|
|
|
string escapeFormattingCharacters(string input)
|
|
{
|
|
var result = new StringBuilder();
|
|
foreach (var c in input)
|
|
{
|
|
if (c == '\\' || c == '_' || c == '~' || c == '*')
|
|
{
|
|
result.Append('\\');
|
|
}
|
|
result.Append(c);
|
|
}
|
|
return result.ToString();
|
|
}
|
|
|
|
var username = escapeFormattingCharacters(member.Username);
|
|
if (member.Nickname != null)
|
|
{
|
|
return $"**{escapeFormattingCharacters(member.Nickname)}** ({username}#{member.Discriminator})";
|
|
}
|
|
return $"**{username}**#{member.Discriminator}";
|
|
}
|
|
|
|
public static readonly Dictionary<int, string> MonthNames = new Dictionary<int, string>()
|
|
{
|
|
{1, "Jan"}, {2, "Feb"}, {3, "Mar"}, {4, "Apr"}, {5, "May"}, {6, "Jun"},
|
|
{7, "Jul"}, {8, "Aug"}, {9, "Sep"}, {10, "Oct"}, {11, "Nov"}, {12, "Dec"}
|
|
};
|
|
|
|
public static string BotUptime => (DateTimeOffset.UtcNow - Program.BotStartTime).ToString("d' days, 'hh':'mm':'ss");
|
|
}
|
|
}
|