summaryrefslogtreecommitdiff
path: root/DiscoBot/Commands/MiscCommands.cs
diff options
context:
space:
mode:
Diffstat (limited to 'DiscoBot/Commands/MiscCommands.cs')
-rw-r--r--DiscoBot/Commands/MiscCommands.cs206
1 files changed, 74 insertions, 132 deletions
diff --git a/DiscoBot/Commands/MiscCommands.cs b/DiscoBot/Commands/MiscCommands.cs
index 53bc42c..2bc2fad 100644
--- a/DiscoBot/Commands/MiscCommands.cs
+++ b/DiscoBot/Commands/MiscCommands.cs
@@ -1,153 +1,110 @@
using System;
using System.Collections.Generic;
-using System.Runtime.Remoting.Contexts;
+using System.IO;
+using System.Linq;
using System.Text;
-
+using System.Threading.Tasks;
using DiscoBot.Auxiliary;
-
using Discord;
using Discord.Commands;
-using Discord.WebSocket;
namespace DiscoBot.Commands
{
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Net.Mime;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
-
- using DiscoBot.Auxiliary;
- using DiscoBot.DSA_Game;
-
- using Discord;
- using Discord.Commands;
-
public class MiscCommands : ModuleBase
{
- [Command("r"), Summary("Würfelt ")]
+ [Command("r")]
+ [Summary("Würfelt ")]
[Alias("R", "Roll", "roll", "Würfle")]
- public Task RollAsync([Remainder, Summary("Weapon")] string roll)
+ public Task RollAsync([Remainder] [Summary("Weapon")] string roll)
{
//return this.ReplyAsync("```xl\n" + new Auxiliary.Calculator.StringSolver(roll).Solve() + "\n```");
- return this.ReplyAsync("```xl\n" + RandomMisc.Roll(roll) + "\n```");
- }
-
- [Command("rd"), Summary("Würfel Dennis ")]
- public Task RollDennisAsync([Remainder, Summary("Weapon")] string roll)
- {
- return this.ReplyAsync("```xl\n" + new Auxiliary.Calculator.StringSolver(roll).Solve() + "\n```");
+ return ReplyAsync("```xl\n" + RandomMisc.Roll(roll) + "\n```");
}
- [Command("general"), Summary("Set General ")]
- public Task SetGeneralAsync([Remainder, Summary("Set General")] int i = 0)
- {
- Dsa.GeneralContext = this.Context;
- return this.Context.Channel.SendMessageAsync($"```xl\n Der Dachs hat in '{this.Context.Channel.Name}' ein Zuhause gefunden. Gm Nachrichten werden nun auch in diesem Channel gepostet. \n```");
- }
- [Command("say"), Summary("Echos a message.")]
+ [Command("say")]
+ [Summary("Echos a message.")]
[Alias("s")]
- public Task SayAsync([Remainder, Summary("The text to echo")] string echo)
+ public Task SayAsync([Remainder] [Summary("The text to echo")]
+ string echo)
{
- return this.ReplyAsync(echo);
+ return ReplyAsync(echo);
}
- [Command("liebe"), Summary("Echos a message.")]
+ [Command("liebe")]
+ [Summary("Echos a message.")]
[Alias("Liebe", "<3", "love")]
public async Task LoveAsync()
{
- Random rand = new Random();
- var user = Context.Channel.GetUsersAsync().ToList().Result.ToList().First().Where(x=>x.Status!= UserStatus.Offline).OrderBy(x => rand.Next()).First();
- await this.ReplyAsync(":heart: :heart: :heart: Verteilt die Liebe! :heart: :heart: :heart: \n Besondere Liebe geht an " + user.Username);
+ var rand = new Random();
+ var user = Context.Channel.GetUsersAsync().ToList().Result.ToList().First()
+ .Where(x => x.Status != UserStatus.Offline).OrderBy(x => rand.Next()).First();
+ await ReplyAsync(
+ ":heart: :heart: :heart: Verteilt die Liebe! :heart: :heart: :heart: \n Besondere Liebe geht an " +
+ user.Username);
//await this.ReplyAsync("!liebe");
}
- [Command("maul"), Summary("Echos a message.")]
+ [Command("maul")]
+ [Summary("Echos a message.")]
public Task MaulAsync()
{
- return this.ReplyAsync("Maul...? Du meintest doch sicher Maulwürfe oder? \n:heart: :heart: :heart: \nGanz viel Liebe für Maulwürfe !\n:heart: :heart: :heart:");
-
+ return ReplyAsync(
+ "Maul...? Du meintest doch sicher Maulwürfe oder? \n:heart: :heart: :heart: \nGanz viel Liebe für Maulwürfe !\n:heart: :heart: :heart:");
}
- [Command("report"), Summary("Report a Tweet")]
- public async Task ReportAsync([Remainder, Summary("Link")] string link)
- {
- var content = new System.Net.Http.StringContent(link);
-
- using (HttpClient client = new HttpClient())
- {
- var response = await client.PostAsync("http://www.example.com/recepticle.aspx", content);
- }
- await this.ReplyAsync($"Dein report wurde hinzugefügt");
- }
-
- [Command("match"), Summary("Tinder.")]
- [Alias("mach","pass", "passt")]
+ [Command("match")]
+ [Summary("Tinder.")]
+ [Alias("mach", "pass", "passt")]
public Task TinderAsync(string s1, string s2)
{
+ var rand = new Random((s1 + s2).GetHashCode());
- var sc = new SpellCorrect();
- var rand = new System.Random((s1+s2).GetHashCode());
-
- var wert = Math.Log10(Math.Floor(1000.0 * (SpellCorrect.CompareExact(s1, s2) + rand.NextDouble() * 10.0)) / 1000.0);
- wert = ((wert * 100.0) < 100.0 ? wert * 100.0 : 100.0 - wert);
+ var wert = Math.Log10(Math.Floor(1000.0 * (SpellCorrect.CompareExact(s1, s2) + rand.NextDouble() * 10.0)) /
+ 1000.0);
+ wert = wert * 100.0 < 100.0 ? wert * 100.0 : 100.0 - wert;
wert = wert < 0 ? -wert : wert;
- return this.ReplyAsync($"Ihr passt zu {Math.Floor(100.0 * wert )/ 100.0}% zusammen");
-
+ return ReplyAsync($"Ihr passt zu {Math.Floor(100.0 * wert) / 100.0}% zusammen");
}
- [Command("reddit"), Summary("Reddit.")]
+ [Command("reddit")]
+ [Summary("Reddit.")]
public Task RedditAsync()
{
- return this.ReplyAsync($"Ein Archiv der Vergangenen Aktionen findet man hier: https://www.reddit.com/r/ReconquistaInternet/");
-
+ return ReplyAsync(
+ "Ein Archiv der Vergangenen Aktionen findet man hier: https://www.reddit.com/r/ReconquistaInternet/");
}
- [Command("compare"), Summary("Echos a message.")]
+ [Command("compare")]
+ [Summary("Echos a message.")]
public async Task KickAsync()
{
//await this.Context.Guild.DownloadUsersAsync();
- var users = Context.Guild.GetUsersAsync(CacheMode.AllowDownload);
+ var users = Context.Guild.GetUsersAsync();
var test = File.ReadAllLines("RG.txt");
await users;
var us = users.Result.Select(x => x.Username);
-
+
var lines = test.Where(x => !x.Equals(string.Empty)).ToList();
-
+
var sc = new SpellCorrect();
var res = new List<string>();
- foreach (string line in lines)
+ foreach (var line in lines)
{
var best = us.OrderBy(user => sc.Compare(user, line)).First();
double fit = sc.Compare(best, line);
- if (fit < SpellCorrect.ErrorThreshold - 20000)
- {
- if (fit.Equals(0))
- {
- res.Add($"@\t{best} !!! => {line}");
- }
- else
- {
- res.Add($"-\t{best} hat Ähnlichkeit mit: {line}");
- }
- }
+ if (!(fit < SpellCorrect.ErrorThreshold - 20000)) continue;
+ res.Add(fit.Equals(0) ? $"@\t{best} !!! => {line}" : $"-\t{best} hat Ähnlichkeit mit: {line}");
}
var sb = new StringBuilder();
- foreach (string re in res)
+ foreach (var re in res)
{
if (sb.Length + re.Length > 1798)
{
@@ -158,47 +115,43 @@ namespace DiscoBot.Commands
sb.AppendLine(re);
}
- if(Permissions.Check(this.Context, new []{"Admin", "Mod"}))
- await this.ReplyTimedAsync(sb.ToString(), TimeSpan.FromSeconds(90));
+ if (Permissions.Check(Context, new[] {"Admin", "Mod"}))
+ await this.ReplyTimedAsync(sb.ToString(), TimeSpan.FromSeconds(90));
//await this.ReplyAsync($"{count} Duplikate gefunden");
-
}
- [Command("clear"), Summary("Cleans up messages.")]
+ [Command("clear")]
+ [Summary("Cleans up messages.")]
public async Task DeleteAsync(int count)
{
var messagesAsync = Context.Channel.GetMessagesAsync(count);
- Task.WaitAll(messagesAsync.ToArray());
- var list = messagesAsync.ToEnumerable().ToList();
- var messages = new List<IMessage>();
- foreach (var task in list)
+ if (messagesAsync != null)
{
- messages.AddRange(task.ToList());
- }
+ Task.WaitAll(messagesAsync.ToArray());
+ var list = messagesAsync.ToEnumerable().ToList();
+ var messages = new List<IMessage>();
+ foreach (var task in list) messages.AddRange(task.ToList());
- if (Permissions.Check(Context, new[] { "Admin", "Mod", "Meister" }))
- {
-
- var waiters = new List<Task>();
- foreach (var message in messages)
+ if (Permissions.Check(Context, new[] {"Admin", "Mod", "Meister"}))
{
- waiters.Add((message as IUserMessage).DeleteAsync());
- }
+ var waiters = new List<Task>();
+ foreach (var message in messages) waiters.Add(((IUserMessage) message).DeleteAsync());
- Task.WaitAll(waiters.ToArray());
+ Task.WaitAll(waiters.ToArray());
+ }
}
-
}
- [Command("check"), Summary("Echos a message.")]
+ [Command("check")]
+ [Summary("Echos a message.")]
[Alias("Check")]
public async Task CheckAsync(string quarry)
{
- var perm = new List<string> { "Admin", "Mod", "Privatpolizei" };
+ var perm = new List<string> {"Admin", "Mod", "Privatpolizei"};
- Permissions.Test(this.Context, perm.ToArray());
+ Permissions.Test(Context, perm.ToArray());
var test = File.ReadAllLines("RG.txt");
@@ -210,38 +163,27 @@ namespace DiscoBot.Commands
var fit = sc.Compare(count, quarry);
- string Antwort;
+ string antwort;
- if (fit < SpellCorrect.ErrorThreshold - 20000)
- {
- Antwort= $"```xl\nAuf anderem Server Match gefunden: {count}";
- }
- else
- {
- Antwort = $"```xl\nAuf anderem Server Kein Match gefunden: {quarry}";
- }
+ antwort = fit < SpellCorrect.ErrorThreshold - 20000
+ ? $"```xl\nAuf anderem Server Match gefunden: {count}"
+ : $"```xl\nAuf anderem Server Kein Match gefunden: {quarry}";
- var users = Context.Guild.GetUsersAsync(CacheMode.AllowDownload);
+ var users = Context.Guild.GetUsersAsync();
await users;
var us = users.Result.Select(x => x.Username);
-
+
sc = new SpellCorrect();
count = us.OrderBy(line => sc.Compare(quarry, line)).First();
fit = sc.Compare(count, quarry);
- if (fit < SpellCorrect.ErrorThreshold - 20000)
- {
- Antwort = Antwort + $"\nAuf unserem Server Match gefunden: {count}\n```";
- }
- else
- {
- Antwort = Antwort + $"\nAuf unserem Server Kein Match gefunden: {quarry} \n```";
- }
-
- await ReplyAsync(Antwort);
+ antwort = fit < SpellCorrect.ErrorThreshold - 20000
+ ? $"{antwort}\nAuf unserem Server Match gefunden: {count}\n```"
+ : $"{antwort}\nAuf unserem Server Kein Match gefunden: {quarry} \n```";
+ await ReplyAsync(antwort);
}
}
-}
+} \ No newline at end of file