Browse Source

Various cleanup.

master
Marrub 4 years ago
parent
commit
8464c6ee6c
12 changed files with 71 additions and 73 deletions
  1. +1
    -0
      .gitignore
  2. +0
    -1
      Properties/AssemblyInfo.cs
  3. +1
    -1
      Source/Links.cs
  4. +4
    -4
      Source/Modules/Mod_Admin.cs
  5. +6
    -6
      Source/Modules/Mod_Fun.cs
  6. +15
    -15
      Source/Modules/Mod_Idgames.cs
  7. +3
    -4
      Source/Modules/Mod_Quote.cs
  8. +6
    -4
      Source/Modules/Mod_Shittalk.cs
  9. +9
    -10
      Source/Modules/Mod_Utils.cs
  10. +7
    -6
      Source/Program.cs
  11. +13
    -16
      Source/Utils.cs
  12. +6
    -6
      vrobot3.sln

+ 1
- 0
.gitignore View File

@@ -5,3 +5,4 @@ data
packages
*.swp
Makefile
.idea

+ 0
- 1
Properties/AssemblyInfo.cs View File

@@ -1,6 +1,5 @@
using System;
using System.Reflection;
using System.Runtime.CompilerServices;

[assembly: AssemblyTitle("vrobot3")]
[assembly: AssemblyDescription("")]


+ 1
- 1
Source/Links.cs View File

@@ -70,7 +70,7 @@ namespace ProjectGolan.Vrobot3
var matchbox = Finder.Matches(str);
if(matchbox.Count == 0) return null;
var matches = new URI[matchbox.Count];
for(int i = 0; i < matchbox.Count; i++)
for(var i = 0; i < matchbox.Count; i++)
matches[i] = FromMatch(matchbox[i]);
return matches;
}


+ 4
- 4
Source/Modules/Mod_Admin.cs View File

@@ -24,8 +24,8 @@ namespace ProjectGolan.Vrobot3.Modules
//
// Mod_Admin constructor
//
public Mod_Admin(Bot bot_) :
base(bot_)
public Mod_Admin(Bot bot) :
base(bot)
{
commands["kill"] = new BotCommandStructure{
cmd = cmdKill,
@@ -65,7 +65,7 @@ namespace ProjectGolan.Vrobot3.Modules
//
public void cmdMsg(User usr, Channel channel, String msg)
{
String[] args = Utils.GetArguments(msg, commands["msg"].help, 2, 2);
var args = Utils.GetArguments(msg, commands["msg"].help, 2, 2);
bot.message(ulong.Parse(args[0]), args[1].Trim());
}

@@ -74,7 +74,7 @@ namespace ProjectGolan.Vrobot3.Modules
//
public void cmdAction(User usr, Channel channel, String msg)
{
String[] args = Utils.GetArguments(msg, commands["action"].help, 2, 2);
var args = Utils.GetArguments(msg, commands["action"].help, 2, 2);
bot.action(ulong.Parse(args[0]), args[1].Trim());
}
}


+ 6
- 6
Source/Modules/Mod_Fun.cs View File

@@ -48,10 +48,10 @@ namespace ProjectGolan.Vrobot3.Modules
//
public void run(User usr, Channel channel, String msg)
{
int n = rnd.Next(min, max);
String outp = String.Empty;
var n = rnd.Next(min, max);
var outp = String.Empty;

if(bot.serverInfo.hasColors && rnd.Next(0, 8) == 1)
if(bot.clientInfo.hasColors && rnd.Next(0, 8) == 1)
for(int i = 0; i < 6; i++)
{
String[] colors = { "04", "07", "08", "09", "12", "06" };
@@ -61,7 +61,7 @@ namespace ProjectGolan.Vrobot3.Modules
outp += word;
}
else
for(int i = 0; i < n; i++)
for(var i = 0; i < n; i++)
outp += word;

bot.reply(usr, channel, outp + final);
@@ -71,8 +71,8 @@ namespace ProjectGolan.Vrobot3.Modules
//
// Mod_Fun constructor
//
public Mod_Fun(Bot bot_) :
base(bot_)
public Mod_Fun(Bot bot) :
base(bot)
{
commands["carmack"] = new BotCommandStructure{
cmd = new ShitpostingDevice("MM", "", 3, 20, bot).run,


+ 15
- 15
Source/Modules/Mod_Idgames.cs View File

@@ -5,7 +5,7 @@
// See "LICENSE" for more information.
//
//-----------------------------------------------------------------------------
//
//
// Idgames search module.
// .idgames
//
@@ -26,7 +26,7 @@ namespace ProjectGolan.Vrobot3.Modules
//
public class Mod_Idgames : IBotModule
{
static readonly String APIURI =
private const String APIURI =
"http://doomworld.com/idgames/api/api.php";

private Random rnd = Utils.GetRND();
@@ -34,8 +34,8 @@ namespace ProjectGolan.Vrobot3.Modules
//
// Mod_Idgames constructor
//
public Mod_Idgames(Bot bot_) :
base(bot_)
public Mod_Idgames(Bot bot) :
base(bot)
{
commands["idgames"] = new BotCommandStructure{
cmd = cmdIdgames,
@@ -51,11 +51,11 @@ namespace ProjectGolan.Vrobot3.Modules
//
public void cmdIdgames(User usr, Channel channel, String msg)
{
String[] args =
Utils.GetArguments(msg, commands["idgames"].help, 0, 3);
var args = Utils.GetArguments(msg, commands["idgames"].help, 0, 3);

switch(args.Length)
{
default:
case 1:
int id;
if(args[0].Trim().Length == 0)
@@ -67,10 +67,7 @@ namespace ProjectGolan.Vrobot3.Modules
break;
case 2: idgames(usr, channel, args[0], args[1]); break;
case 3:
if(args[2].Trim().ToLower() == "random")
idgames(usr, channel, args[0], args[1], "random");
else
idgames(usr, channel, args[0], args[1], args[2].Trim());
idgames(usr, channel, args[0], args[1], args[2].Trim());
break;
}
}
@@ -82,6 +79,8 @@ namespace ProjectGolan.Vrobot3.Modules
{
var req = WebRequest.Create("http://doomworld.com/idgames/?random")
as HttpWebRequest;
if(req == null) throw new CommandArgumentException("fug it borked");

req.Referer = "http://doomworld.com/idgames/";
bot.message(channel,
Discord.Format.Escape(req.GetResponse().ResponseUri.ToString()));
@@ -94,6 +93,7 @@ namespace ProjectGolan.Vrobot3.Modules
{
var req = WebRequest.Create(APIURI + "?action=get&id=" + id)
as HttpWebRequest;
if(req == null) throw new CommandArgumentException("fug it borked");

using(var response = req.GetResponse())
{
@@ -120,9 +120,9 @@ namespace ProjectGolan.Vrobot3.Modules
private void idgames(User usr, Channel channel, String inquiry,
String type = "title", String pos = "1")
{
int ipos = 0;
var ipos = 0;

if(pos != "random")
if(pos.ToLower() != "random")
{
Utils.TryParse(pos, "Invalid position.", out ipos);

@@ -145,8 +145,8 @@ namespace ProjectGolan.Vrobot3.Modules
if(!validtypes.Contains(type))
throw new CommandArgumentException("Invalid inquiry type.");

String uri = APIURI + "?action=search&sort=rating&query=" +
inquiry + "&type=" + type;
var uri = APIURI + "?action=search&sort=rating&query=" + inquiry +
"&type=" + type;
var req = WebRequest.Create(uri);
Console.WriteLine("idgames query: {0}", uri);

@@ -167,7 +167,7 @@ namespace ProjectGolan.Vrobot3.Modules
if(pos == "random") ipos = rnd.Next(0, x_titles.Count());
if(ipos >= x_titles.Count()) ipos = x_titles.Count() - 1;

String title = x_titles.ElementAtOrDefault(ipos);
var title = x_titles.ElementAtOrDefault(ipos) ?? "invalid title";
if(title.Trim().Length > 0) title = "[ " + title + " ] ";

bot.message(channel,


+ 3
- 4
Source/Modules/Mod_Quote.cs View File

@@ -29,9 +29,8 @@ namespace ProjectGolan.Vrobot3.Modules
public int numQuotes;
}

static readonly String APIURI = "http://www.greyserv.net/qdb/q/";
static readonly String InterfaceURI =
"http://www.greyserv.net/qdb/interface.cgi";
const String APIURI = "http://www.greyserv.net/qdb/q/";
const String InterfaceURI = "http://www.greyserv.net/qdb/interface.cgi";
private Random rnd = Utils.GetRND();

//
@@ -86,7 +85,7 @@ namespace ProjectGolan.Vrobot3.Modules
else
foreach(var ln_ in lines)
{
String ln = ln_.Trim();
var ln = ln_.Trim();
if(ln.Length > 0)
bot.message(channel, ln);
}


+ 6
- 4
Source/Modules/Mod_Shittalk.cs View File

@@ -15,7 +15,7 @@ namespace ProjectGolan.Vrobot3.Modules
//
public class Mod_Shittalk : IBotModule
{
private Random rnd = Utils.GetRND();
private readonly Random rnd = Utils.GetRND();

//
// Mod_Shittalk constructor
@@ -49,7 +49,8 @@ namespace ProjectGolan.Vrobot3.Modules
"%s DESERVES AN AWARD. AN AWARD FOR BEING UGLY.",
"MAN SOMETIMES I REALLY WANT TO PUNCH %s IN THE GOD DAMN FACE",
"THERE IS SOMETHING WRONG IN THIS CHANNEL. THAT SOMETHING IS %s.",
"%s IS A TOTAL SCRUB", "%s IS THE CONDUCTOR OF THE JELLY TRAIN",
"%s IS A TOTAL SCRUB",
"%s IS THE CONDUCTOR OF THE JELLY TRAIN",
"%s IS A THING THAT SMELLS BAD MAYBE",
"%s IS A PILE OF FAIL",
"%s IS NOT AS COOL AS VROBOT",
@@ -103,10 +104,11 @@ namespace ProjectGolan.Vrobot3.Modules
"I AM HERE TO FIGHT THE CANCER THAT AFFLICTS US ALL. NAMELY, %s.",
"WELP, %s IS HERE",
"OH HAI %s",
"marrub pls upgrade my processor i can't even count to eleventy"
"marrub pls upgrade my processor i can't even count to eleventy",
"THIS WAS ALL %s'S FAULT"
};

String choice =
var choice =
shittalk[rnd.Next(shittalk.Length)].Replace("%s", usr.name);

if(choice.StartsWith("%m "))


+ 9
- 10
Source/Modules/Mod_Utils.cs View File

@@ -21,13 +21,13 @@ namespace ProjectGolan.Vrobot3.Modules
//
public class Mod_Utils : IBotModule
{
private Random rnd = Utils.GetRND();
private readonly Random rnd = Utils.GetRND();

//
// Mod_Utils constructor
//
public Mod_Utils(Bot bot_) :
base(bot_)
public Mod_Utils(Bot bot) :
base(bot)
{
commands["rand"] = new BotCommandStructure{
cmd = cmdRand,
@@ -43,7 +43,7 @@ namespace ProjectGolan.Vrobot3.Modules
"Example: .help\n" +
"Example: .help eightball"
};
commands["decide"] = new BotCommandStructure{
cmd = cmdDecide,
help = "Decides between 2 or more choices.\n" +
@@ -73,9 +73,8 @@ namespace ProjectGolan.Vrobot3.Modules
//
public void cmdRand(User usr, Channel channel, String msg)
{
String[] args =
Utils.GetArguments(msg, commands["rand"].help, 1, 2, ' ');
Double max = 0.0, min = 0.0;
var args = Utils.GetArguments(msg, commands["rand"].help, 1, 2, ' ');
double max = 0.0, min = 0.0;

Utils.TryParse(args[0].Trim(), "Invalid maximum.", out max);

@@ -103,7 +102,7 @@ namespace ProjectGolan.Vrobot3.Modules
//
public void cmdDecide(User usr, Channel channel, String msg)
{
String[] args = Utils.GetArguments(msg, commands["decide"].help, 2);
var args = Utils.GetArguments(msg, commands["decide"].help, 2);
bot.reply(usr, channel, args[rnd.Next(args.Length)].Trim());
}

@@ -112,7 +111,7 @@ namespace ProjectGolan.Vrobot3.Modules
//
private void helpList(Channel channel, bool admin)
{
String outp = String.Empty;
var outp = String.Empty;
var en =
from kvp in bot.cmdfuncs
let f = kvp.Value.Item2.flags
@@ -144,7 +143,7 @@ namespace ProjectGolan.Vrobot3.Modules
if(bot.cmdfuncs.ContainsKey(cmdname))
{
var str = bot.cmdfuncs[cmdname].Item2.help;
if(!bot.serverInfo.hasNewlines) str.Replace("\n", " || ");
if(!bot.clientInfo.hasNewlines) str = str.Replace("\n", " || ");
bot.message(channel, str ?? "No help available for this command.");
}
else


+ 7
- 6
Source/Program.cs View File

@@ -40,10 +40,10 @@ namespace ProjectGolan.Vrobot3
public BotInfo[] servers;
}

private List<Bot> bots = new List<Bot>();
private List<Thread> threads = new List<Thread>();
public String dataDir = "../data";
public ProgramInfo info;
private readonly List<Bot> bots = new List<Bot>();
private readonly List<Thread> threads = new List<Thread>();
public String dataDir = "../data";
public ProgramInfo info;

public static Program Instance;

@@ -69,8 +69,8 @@ namespace ProjectGolan.Vrobot3

info = config.info;

foreach(var info in config.servers)
threads.AddItem(new Thread(bots.AddItem(new Bot(info)).connect)).Start();
foreach(var server in config.servers)
threads.AddItem(new Thread(bots.AddItem(new Bot(server)).connect)).Start();
}
catch(Exception exc)
{
@@ -91,6 +91,7 @@ namespace ProjectGolan.Vrobot3
File.WriteAllText(dataDir + "/disconnectexcdump.txt",
exc.ToString());
}

bots.Clear();
threads.Clear();
}


+ 13
- 16
Source/Utils.cs View File

@@ -39,7 +39,7 @@ namespace ProjectGolan.Vrobot3
public static Random GetRND()
{
RNDHash *= DateTime.UtcNow.ToFileTime();
Random rnd = new Random(unchecked((int)(RNDHash & 0x7fffffff)));
var rnd = new Random(unchecked((int)(RNDHash & 0x7fffffff)));
RNDHash ^= 0x7f8f8f8f8f8f8f8f;
RNDHash >>= 4;
RNDHash += 0x7f0000007f000000;
@@ -58,10 +58,7 @@ namespace ProjectGolan.Vrobot3
if(min == 1 && msg == String.Empty)
throw new CommandArgumentException(help);

if(max == 0)
split = msg.Split(splitseq);
else
split = msg.Split(splitseq, max);
split = max == 0 ? msg.Split(splitseq) : msg.Split(splitseq, max);

if(min >= 0 && split.Length < min)
throw new CommandArgumentException(help);
@@ -72,7 +69,7 @@ namespace ProjectGolan.Vrobot3
//
// SetRange
//
public static Double SetRange(Double x, Double min, Double max)
public static double SetRange(double x, double min, double max)
=> ((max - min) * x) + min;

//
@@ -80,15 +77,15 @@ namespace ProjectGolan.Vrobot3
//
public static String FuzzyRelativeDate(DateTime then, DateTime now)
{
TimeSpan span = now.Subtract(then);
var span = now.Subtract(then);

if(span.Seconds == 0)
return "now";

String denom = span.Days > 0 ? "day" :
span.Hours > 0 ? "hour" :
span.Minutes > 0 ? "minute" :
"second";
var denom = span.Days > 0 ? "day" :
span.Hours > 0 ? "hour" :
span.Minutes > 0 ? "minute" :
"second";

int number;
switch(denom)
@@ -100,8 +97,7 @@ namespace ProjectGolan.Vrobot3
case "day": number = span.Days; break;
}

return String.Format("{0} {1}{2} ago", number, denom,
number != 1 ? "s" : String.Empty);
return $"{number} {denom}{number != 1 ? "s" : String.Empty} ago";
}

//
@@ -117,11 +113,12 @@ namespace ProjectGolan.Vrobot3
{
try
{
byte[] bufp = new byte[maxsize];
int read;
var bufp = new byte[maxsize];
var read = 0;

using(var stream = resp.GetResponseStream())
read = stream.Read(bufp, 0, maxsize);
if(stream != null)
read = stream.Read(bufp, 0, maxsize);

return Encoding.Default.GetString(bufp, 0, read);
}


+ 6
- 6
vrobot3.sln View File

@@ -5,14 +5,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "vrobot3", "vrobot3.csproj",
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
Debug|AnyCPU = Debug|AnyCPU
Release|AnyCPU = Release|AnyCPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{83337FF3-3334-42EC-824D-532FF0C973A9}.Debug|x86.ActiveCfg = Debug|x86
{83337FF3-3334-42EC-824D-532FF0C973A9}.Debug|x86.Build.0 = Debug|x86
{83337FF3-3334-42EC-824D-532FF0C973A9}.Release|x86.ActiveCfg = Release|x86
{83337FF3-3334-42EC-824D-532FF0C973A9}.Release|x86.Build.0 = Release|x86
{83337FF3-3334-42EC-824D-532FF0C973A9}.Debug|AnyCPU.ActiveCfg = Debug|AnyCPU
{83337FF3-3334-42EC-824D-532FF0C973A9}.Debug|AnyCPU.Build.0 = Debug|AnyCPU
{83337FF3-3334-42EC-824D-532FF0C973A9}.Release|AnyCPU.ActiveCfg = Release|AnyCPU
{83337FF3-3334-42EC-824D-532FF0C973A9}.Release|AnyCPU.Build.0 = Release|AnyCPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0


Loading…
Cancel
Save