Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
Improvements
  • Loading branch information
Zignixx committed Dec 28, 2019
1 parent 6850cad commit 0a36526
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions RenamePlugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,33 +11,36 @@
namespace ArchiSteamFarm.Cobra.RenamePlugin {
[Export(typeof(IPlugin))]
internal sealed class RenamePlugin : IBotCommand {
private static readonly Random Random = new Random();
internal static int RandomNext(int min, int max) {
lock (Random) {
return Random.Next(min,max);
}
}
public string Name => nameof(RenamePlugin);
public Version Version => typeof(RenamePlugin).Assembly.GetName().Version;
public async Task<string> OnBotCommand(Bot bot, ulong steamID, string message, string[] args) {
switch (args[0].ToUpperInvariant()) {
case "RENAME" when bot.HasPermission(steamID, BotConfig.EPermission.Master):
int args_length = args.Length;
if (args_length < 2) {
if (args.Length < 2) {
return $"!rename New Bot Name\n\nWorks with spaces!\n\nVariables to use:\n\n%RANDOM1% to $RANDOM9% => generate a random number\n!rename Bot $RANDOM4% => Bot 7643\n\n%BOTNAME% => ASF internal bot name\n!rename Bot %BOTNAME% => Bot {bot.BotName}";
}
string user_arguments = Utilities.GetArgsAsText(args,1," ");
string user_arguments = Utilities.GetArgsAsText(message, 1);
Regex regex_random = new Regex(@"%RANDOM(\d+)%");
Match match = regex_random.Match(user_arguments);
if (match.Success) {
int maxrange_userinput = int.Parse(match.Groups[1].Value);
double maxrange_userinput = double.Parse(match.Groups[1].Value);
if(maxrange_userinput > 9) {
return "Sorry but you can't use a random number with more than 9 digits!";
}
int maxrange = int.Parse(new string('9', maxrange_userinput));
Random rnd = new Random();
int randomnumber = rnd.Next(0, maxrange);
user_arguments = Regex.Replace(user_arguments, @"%RANDOM(\d+)%", randomnumber.ToString($"D{maxrange_userinput}"));
int randomnumber = RandomNext(0, Convert.ToInt32(Math.Pow(10, maxrange_userinput) - 1));
user_arguments = Regex.Replace(user_arguments, regex_random.ToString(), randomnumber.ToString($"D{maxrange_userinput}"));
}
if(new Regex("%BOTNAME%").Match(user_arguments).Success) {
user_arguments = Regex.Replace(user_arguments, @"%BOTNAME%", bot.BotName);
}
await bot.Commands.Response(steamID, $"nickname {bot.BotName} {user_arguments}").ConfigureAwait(false);
return $"Changed my name to: {user_arguments}";
string response = await bot.Commands.Response(steamID, $"nickname {bot.BotName} {user_arguments}").ConfigureAwait(false);
return response;
default:
return null;
}
Expand Down

0 comments on commit 0a36526

Please sign in to comment.