public void timer(MySqlCommand cmd, string type, DateTime timing, Discord.IGuildUser user, string server, string text = null) { try { connect.Open(); read = cmd.ExecuteReader(); connect.Close(); if (timing.CompareTo(time) > 0) { Timer count = new Timer(); if (type == "rate") { count.Elapsed += (sender, e) => onTime(sender, e, type, user.Id.ToString(), server, text); } else { count.Elapsed += (sender, e) => onTime(sender, e, type, user.Id.ToString(), server); } count.AutoReset = false; count.Interval = (timing - time).TotalSeconds * 1000; count.Enabled = true; } } catch (Exception ex) { Console.WriteLine(time + "\t" + ex); if (connect.State != System.Data.ConnectionState.Closed) { connect.Close(); } return; } }
public async Task Kick(Discord.IGuildUser user, [Remainder] string reason) { var b = new Discord.EmbedBuilder(); b.WithTitle("User Kicked").WithDescription(user.Username + " was kicked because " + reason).WithColor(25, 25, 112); await Context.Channel.SendMessageAsync("", false, b); await user.KickAsync(); }
public async Task KickAsync(Discord.IGuildUser user, [Remainder] string reason) { if (user.GuildPermissions.KickMembers) { var b = new Discord.EmbedBuilder(); b.WithTitle("User Kicked"); b.WithDescription(user.Username + "was kicked."); b.WithColor(new Discord.Color(0, 170, 255)); await Context.Channel.SendMessageAsync("", false, b); await user.KickAsync(); } }
[Command("Ban")] //for banning the user public async Task banUser(Discord.IGuildUser user) { if (user.GuildPermissions.Administrator) { await ReplyAsync("Can't Ban Moderator"); } else { await Context.Channel.SendMessageAsync("", false, getMethods.CreateEmbled("Ban Hammer has spoken", "**" + user.Username + "**" + " was banned")); await Discord.UserExtensions.SendMessageAsync(user, $"Hey, sorry about this but... you got banned from **{Context.Guild.Name}** by {Context.Message.Author}", false); await user.Guild.AddBanAsync(user, 1); } }
public async Task warn(Discord.IGuildUser user, [Remainder] string reason) { if (!user.IsBot) { dbase.chkserver(Context.Guild); string query = "INSERT INTO `warny` (`id`, `user`, `reason`, `date`, `wanner`, `Server`) VALUES (NULL, '" + user.Id + "', @reason, '" + time.Year + "-" + time.Month + "-" + time.Day + "', '" + Context.Message.Author.Id + "', '" + dbase.Chkserver(Context.Guild.Id.ToString()) + "')"; MySqlCommand cmd = new MySqlCommand(query, dbase.connect); cmd.Parameters.AddWithValue("@reason", reason); dbase.make(cmd); Console.WriteLine(time + "\t" + user.Username + " zwarnowany za " + reason + " na serwerze " + Context.Guild.Name + "!"); await Context.Channel.SendMessageAsync(user.Username + " zwarnowany za " + reason + "!"); query = "SELECT COUNT(*) AS TotalNORows FROM warny as w INNER JOIN `servery` as s ON w.Server = s.id WHERE w.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "'"; cmd = new MySqlCommand(query, dbase.connect); DataTable warn = dbase.Read(cmd); if (Int32.Parse(warn.Rows[0][0].ToString()) > 3) { if (int.Parse(warn.Rows[0][0].ToString()) > 5) { int czas = 2 * (int.Parse(warn.Rows[0][0].ToString()) - 5); string format = "yyyy-MM-dd HH:mm:ss"; query = "INSERT INTO `timery` (`id`, `user`, `type`, `time`, `text`, `Server`) VALUES (NULL, '" + user.Id + "', 'ban', '" + time.AddDays(czas).ToString(format) + "', NULL, '" + dbase.Chkserver(Context.Guild.Id.ToString()) + "')"; cmd = new MySqlCommand(query, dbase.connect); dbase.timer(cmd, "ban", time.AddDays(czas), user, Context.Guild.Id.ToString()); Console.WriteLine(time + "\tUzytkownik " + user.Username + " zbanowany na serwerze " + Context.Guild.Name + " na " + czas + " dni."); await Context.Channel.SendMessageAsync(user.Mention + " zostal zbanowany na " + czas + " dni."); await user.SendMessageAsync("Zostałeś zbanowany na serwerze " + Context.Guild.Name + " na " + czas + " dni."); await Context.Guild.AddBanAsync(user); } else { Console.WriteLine(time + "\tUzytkownik " + user.Username + " zkickowany na serwerze " + Context.Guild.Name + "."); await Context.Channel.SendMessageAsync(user.Mention + " został zkickowany."); await user.SendMessageAsync("Zostałeś zkickowany na serwerze " + Context.Guild.Name + "."); await user.KickAsync(); } } } else { await Context.Channel.SendMessageAsync("Nie wolno warnować botów. :("); } }
public async Task clearwarns(Discord.IGuildUser user) { dbase.chkserver(Context.Guild); string query = "SELECT * FROM warny as w INNER JOIN `servery` as s ON w.Server = s.id WHERE w.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "'"; MySqlCommand cmd = new MySqlCommand(query, dbase.connect); if (dbase.HasRows(cmd)) { query = "DELETE w.* FROM warny as w INNER JOIN `servery` as s ON w.Server = s.id WHERE w.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "'"; cmd = new MySqlCommand(query, dbase.connect); dbase.make(cmd); Console.WriteLine(time + "\t" + user.Username + " usunieto wszystkie warny przez " + Context.Message.Author + " Na serwerze " + Context.Guild.Name + "."); await Context.Channel.SendMessageAsync("Usunieto wszystkie warny uzytkownikowi " + user + " na serwerze " + Context.Guild.Name + "!"); } else { await Context.Channel.SendMessageAsync("Uzytkownik nie posiada warnow ~~jeszcze~~."); } }
public async Task delwarn(Discord.IGuildUser user, int warn_Num) { dbase.chkserver(Context.Guild); string query = "SELECT * FROM warny as w INNER JOIN `servery` as s ON w.Server = s.id WHERE w.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "' LIMIT " + (warn_Num - 1) + ", 1"; MySqlCommand cmd = new MySqlCommand(query, dbase.connect); if (dbase.HasRows(cmd)) { query = "DELETE w.* FROM warny as w INNER JOIN (SELECT * FROM warny as w INNER JOIN `servery` as s ON w.Server = s.id WHERE w.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "' LIMIT " + (warn_Num - 1) + ", 1) as warny2 ON warny.id = warny2.id "; cmd = new MySqlCommand(query, dbase.connect); dbase.make(cmd); Console.WriteLine(time + "\t" + user.Username + " usunieto jednego warna na serwerze" + Context.Guild.Name + "!"); await Context.Channel.SendMessageAsync("Usunieto jednego warna uzytkownikowi " + user + "!"); } else { await Context.Channel.SendMessageAsync("Wybrany warn nie istnieje."); } }
public async Task listwarns(SocketUser user = null) { if (user == null) { user = Context.Message.Author; } dbase.chkserver(Context.Guild); string query = "SELECT w.reason, DATE_FORMAT(w.date, '%M %e %Y'), w.wanner FROM warny as w INNER JOIN `servery` as s ON w.Server = s.id WHERE w.user='******' AND s.nid='" + Context.Guild.Id.ToString() + "'"; MySqlCommand cmd = new MySqlCommand(query, dbase.connect); if (dbase.HasRows(cmd)) { string a = ""; cmd = new MySqlCommand(query, dbase.connect); foreach (DataRow row in dbase.Read(cmd).Rows) { UInt64 g = Convert.ToUInt64(row[2]); Discord.IGuildUser nick = Context.Guild.GetUser(g); try { if (nick.Username != "") { a += "**Data:** " + row[1] + "\t**Warnujacy:** " + nick + "\n**Powod:** " + row[0] + "\n\n"; } } catch (Exception ex) { Console.WriteLine(time + "\t Bledny warnujacy " + g + " Na serwerze " + Context.Guild.Name + "."); a += "**Data:** " + row[1] + "\t**Warnujacy:** " + row[2] + "\n**Powod:** " + row[0] + "\n\n"; } } var b = new Discord.EmbedBuilder(); b.WithTitle("Lista warnow"); b.WithDescription(a); b.WithColor(new Discord.Color(0, 170, 255)); await Context.Channel.SendMessageAsync("", false, b); } else { await Context.Channel.SendMessageAsync("brak warnow! :D"); } }
public async Task Ban(Discord.IGuildUser user = null, [Remainder] string reason = null) { if (user == null) { await ReplyAsync("Please specify a user!"); return; } if (reason == null) { reason = "Not Specified"; } await Context.Guild.AddBanAsync(user, 0, reason); var EmbedBuilder = new EmbedBuilder() .WithDescription($":white_check)mark: {user.Mention} was banned\n **Reason** {reason}") .WithFooter(footer => { footer .WithText("User Ban Log") .WithIconUrl("C:\\Users\\berna\\Pictures"); }); }