From f7dd14f08cd585892657318889d7ffcd1676b24f Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Wed, 6 Feb 2019 01:18:03 -0500 Subject: [PATCH] init --- .gitignore | 34 +++++++++++++++++++++++++++++++ App.config | 12 +++++++++++ Program.cs | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ agrajag.csproj | 18 +++++++++++++++++ chatsharp.dll | Bin 0 -> 86016 bytes 5 files changed, 118 insertions(+) create mode 100644 .gitignore create mode 100644 App.config create mode 100644 Program.cs create mode 100644 agrajag.csproj create mode 100644 chatsharp.dll diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a5dff61 --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +*.swp +*.*~ +project.lock.json +.DS_Store +*.pyc +nupkg/ + +# Visual Studio Code +.vscode + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ +[Oo]ut/ +msbuild.log +msbuild.err +msbuild.wrn + +# Visual Studio 2015 +.vs/ diff --git a/App.config b/App.config new file mode 100644 index 0000000..161ff99 --- /dev/null +++ b/App.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..00eb2e1 --- /dev/null +++ b/Program.cs @@ -0,0 +1,54 @@ +using ChatSharp; +using System; +using System.Configuration; +using System.Collections.Specialized; +using System.Linq; + +namespace agrajag +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("starting agrajag"); + + NameValueCollection cfg = ConfigurationManager.AppSettings; + + var client = new IrcClient( + $"{cfg.Get("irc_host")}:{cfg.Get("irc_port")}", + new IrcUser(cfg.Get("bot_nick"), cfg.Get("bot_user")), + cfg.Get("irc_ssl") == "true" + ); + + client.ConnectionComplete += (s, e) => { + Console.WriteLine($"connected. joining {cfg.Get("channels")}"); + cfg.Get("channels") + .Split(',') + .ToList() + .ForEach(c => client.JoinChannel(c)); + }; + + client.ChannelMessageReceived += (s, e) => + { + var channel = client.Channels[e.PrivateMessage.Source]; + + if (e.PrivateMessage.Message == ".list") + channel.SendMessage(string.Join(", ", channel.Users.Select(u => u.Nick))); + else if (e.PrivateMessage.Message.StartsWith(".ban ")) + { + if (!channel.UsersByMode['@'].Contains(client.User)) + { + channel.SendMessage("I'm not an op here!"); + return; + } + var target = e.PrivateMessage.Message.Substring(5); + client.WhoIs(target, whois => channel.ChangeMode("+b *!*@" + whois.User.Hostname)); + } + }; + + client.ConnectAsync(); + + while (true) ; // Waste CPU cycles + } + } +} diff --git a/agrajag.csproj b/agrajag.csproj new file mode 100644 index 0000000..0e3c9c8 --- /dev/null +++ b/agrajag.csproj @@ -0,0 +1,18 @@ + + + + Exe + netcoreapp2.2 + + + + + ./chatsharp.dll + + + + + + + + diff --git a/chatsharp.dll b/chatsharp.dll new file mode 100644 index 0000000000000000000000000000000000000000..e9bbfd4090861ba5e88b24b048b4acd1ff88da9a GIT binary patch literal 86016 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%0AUV35}j;EQ@xL{WSWZu^MQIM(quapiDi>)q#2zQR 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