Dev Branch yay!

This commit is contained in:
2026-02-28 21:59:37 +00:00
parent c3f8f4592c
commit 56dd6a6166
4 changed files with 22 additions and 86 deletions

14
Commands/SourceCommand.cs Normal file
View File

@@ -0,0 +1,14 @@
using Valour.Sdk.Models;
namespace Reactor.Commands;
public static class SourceComamnd
{
public static async Task Execute(Dictionary<long, Channel> channelCache, long channelId, string memberPing)
{
if (channelCache.TryGetValue(channelId, out var channel))
{
await channel.SendMessageAsync($"{memberPing} You can see my source code here: https://github.com/SkyJoshua/Reactor");
}
}
}

View File

@@ -106,6 +106,10 @@ namespace Reactor
case "help": case "help":
await HelpComamnd.Execute(_channelCache, channelId, _prefix, memberPing); await HelpComamnd.Execute(_channelCache, channelId, _prefix, memberPing);
break; break;
case "source":
await SourceComamnd.Execute(_channelCache, channelId, memberPing);
break;
} }
} }

View File

@@ -1,82 +0,0 @@
using System.Globalization;
using System.Text.Json;
using Valour.Sdk.Models;
namespace Reactor
{
public static class Utils
{
private static readonly HttpClient _http = new HttpClient();
private static long _valourUserCount;
public static long ValourUserCount => _valourUserCount;
public static bool IsSingleEmoji(string input)
{
if (string.IsNullOrWhiteSpace(input))
return false;
input = input.Trim();
var enumerator = StringInfo.GetTextElementEnumerator(input);
int count = 0;
while (enumerator.MoveNext())
count++;
return count == 1;
}
public static bool ContainsAny(string input, params string[] values)
{
var lower = input.ToLower();
foreach (var value in values)
{
if (lower.Contains(value.ToLower()))
return true;
};
return false;
}
public static async Task SendReplyAsync(Dictionary<long, Channel> channelCache, long channel, string reply)
{
if (channelCache.TryGetValue(channel, out var chan))
{
await chan.SendMessageAsync(reply);
}
else
{
Console.WriteLine($"Channel {channel} was not found in the cache.");
};
}
public static async Task UpdateValourUserCountAsync()
{
try
{
var response = await _http.GetStringAsync("https://api.valour.gg/api/users/count");
_valourUserCount = JsonSerializer.Deserialize<long>(response);
Console.WriteLine($"Valour user count updated: {_valourUserCount}");
}
catch (Exception ex)
{
Console.WriteLine($"Failed to update Valour user count: {ex.Message}");
}
}
public static void StartValourUserUpdater()
{
var timer = new System.Timers.Timer(300_000);
timer.Elapsed += async (_, _) => await UpdateValourUserCountAsync();
timer.AutoReset = true;
timer.Start();
}
};
};