Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Discord;
- using Discord.Commands;
- using MyAnimeListSharp;
- using YoutubeExtractor;
- using System.IO;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Net;
- using System.Web;
- using System.Threading.Tasks;
- using MyAnimeListSharp.Auth;
- using MyAnimeListSharp.Core;
- using MyAnimeListSharp.Enums;
- using MyAnimeListSharp.Facade;
- using MyAnimeListSharp.Facade.Async;
- using MyAnimeListSharp.Extensions.Core;
- using System.Text.RegularExpressions;
- namespace DiscordBot
- {
- class MyBot
- {
- DiscordClient discord;
- CommandService commands;
- Random rand;
- string[] KrulImage;
- string[] RoseImage;
- string[] RPS;
- string[] QQ;
- string[] CF;
- public MyBot()
- {
- rand = new Random();
- QQ = new string[]
- {
- "NO, never ever ever !!!",
- "I don't even want to think about that !",
- "Yes, was that even a question ?",
- "I don't know for sure :/",
- "That's not a hard one, Yes!",
- "That's not a hard one, No!",
- "Why do you even ask ?",
- "Probably, No ...",
- "Probably, Yes ...",
- "Idk ask again later",
- "NO NO NO NO NO NO NO NOPE!!!!",
- "YES!!!!!!!",
- "Can you stop asking questions.",
- "idk, Maxim is Retarded",
- };
- KrulImage = new string[]
- {
- "Krul/Krul001.png",
- "Krul/Krul002.jpg",
- "Krul/Krul003.png",
- "Krul/Krul004.jpg",
- "Krul/Krul005.jpg",
- "Krul/Krul006.png",
- "Krul/Krul007.png",
- };
- RoseImage = new string[]
- {
- "Rose/Rose001.png",
- "Rose/Rose002.png",
- "Rose/Rose003.png",
- "Rose/Rose004.jpg",
- "Rose/Rose005.jpg",
- "Rose/Rose006.jpg"
- };
- CF = new string[]
- {
- "CoinFlip/ct.png",
- "CoinFlip/terrorist.png",
- };
- RPS = new string[]
- {
- "Rock!",
- "Paper!",
- "Scissors!"
- };
- discord = new DiscordClient(x =>
- {
- x.LogLevel = LogSeverity.Info;
- x.LogHandler = log;
- });
- discord.UsingCommands(x =>
- {
- x.PrefixChar = '²';
- x.AllowMentionPrefix = true;
- });
- commands = discord.GetService<CommandService>();
- RegisterRoseCommand();
- RegisterKrulCommand();
- Countdown();
- Question();
- CoinFlip();
- Remember();
- // Audio();
- AnimeSCommand();
- Anime();
- commands.CreateCommand("Hey")
- .Do(async (e) =>
- {
- await e.Channel.SendMessage("Hi!");
- });
- commands.CreateCommand("Rock")
- .Do(async (e) =>
- {
- int randomRoseIndex = rand.Next(RPS.Length);
- string RPSToPost = RPS[randomRoseIndex];
- await e.Channel.SendMessage(RPSToPost);
- if (RPSToPost == "Rock!")
- {
- await e.Channel.SendMessage("Again!");
- }
- if (RPSToPost == "Paper!")
- {
- await e.Channel.SendMessage("You Lose!");
- }
- if (RPSToPost == "Scissors!")
- {
- await e.Channel.SendMessage("You Win!");
- }
- });
- commands.CreateCommand("Paper")
- .Do(async (e) =>
- {
- int randomRoseIndex = rand.Next(RPS.Length);
- string RPSToPost = RPS[randomRoseIndex];
- await e.Channel.SendMessage(RPSToPost);
- if (RPSToPost == "Rock!")
- {
- await e.Channel.SendMessage("You Lose!");
- }
- if (RPSToPost == "Paper!")
- {
- await e.Channel.SendMessage("Again!");
- }
- if (RPSToPost == "Scissors!")
- {
- await e.Channel.SendMessage("You Win!");
- }
- });
- commands.CreateCommand("Scissors")
- .Do(async (e) =>
- {
- int randomRoseIndex = rand.Next(RPS.Length);
- string RPSToPost = RPS[randomRoseIndex];
- await e.Channel.SendMessage(RPSToPost);
- if (RPSToPost == "Rock!")
- {
- await e.Channel.SendMessage("You Lose!");
- }
- if (RPSToPost == "Paper!")
- {
- await e.Channel.SendMessage("You Win!");
- }
- if (RPSToPost == "Scissors!")
- {
- await e.Channel.SendMessage("Again!");
- }
- });
- commands.CreateCommand("Dice")
- .Do(async (e) =>
- {
- int randomRoseIndex = rand.Next(5);
- randomRoseIndex = randomRoseIndex + 1;
- await e.Channel.SendMessage(randomRoseIndex.ToString());
- });
- discord.ExecuteAndWait(async () =>
- {
- await discord.Connect("MzA3ODg4NzMyODM1NTQ1MDg5.C-ZFMQ.tlAxqi2f_GAkG9F7VOeW6gTPwxY", TokenType.Bot);
- });
- }
- private void RegisterKrulCommand()
- {
- commands.CreateCommand("Krul")
- .Do(async (e) =>
- {
- int randomKrulIndex = rand.Next(KrulImage.Length);
- string KrulToPost = KrulImage[randomKrulIndex];
- await e.Channel.SendFile(KrulToPost);
- });
- }
- private void RegisterRoseCommand()
- {
- commands.CreateCommand("Rose")
- .Do(async (e) =>
- {
- int randomRoseIndex = rand.Next(RoseImage.Length);
- string RoseToPost = RoseImage[randomRoseIndex];
- await e.Channel.SendFile(RoseToPost);
- });
- }
- private void AnimeSCommand()
- {
- commands.CreateCommand("Anime").Parameter("message", ParameterType.Multiple)
- .Do(async (e) =>
- {
- string message = "";
- for (int i = 0; i < e.Args.Length; i++)
- {
- message += e.Args[i].ToString() + " ";
- }
- // Step 1: Enter UserName and Password information
- ICredentialContext credential = new CredentialContext
- {
- UserName = "Myvampire",
- Password = "5pEdYB1EHvMc"
- };
- // Step 2: Create a method object
- var searchMethods = new SearchMethods(credential);
- // Step 3: Search using the search term ("Code Geass" in this case)
- string mangaResponse = searchMethods.SearchManga(message);
- Console.WriteLine(mangaResponse);
- await e.Channel.SendMessage((mangaResponse));
- });
- }
- private void Question()
- {
- commands.CreateCommand("Q").Parameter("message", ParameterType.Multiple)
- .Do(async (e) =>
- {
- string message = "";
- for (int i = 0; i < e.Args.Length; i++)
- {
- message += e.Args[i].ToString() + " ";
- }
- int randomRoseIndex = rand.Next(QQ.Length);
- string QToPost = QQ[randomRoseIndex];
- await e.Channel.SendMessage("Question: " + message);
- await e.Channel.SendMessage("Answer: " + QToPost);
- });
- }
- private void Remember()
- {
- string givemessage ="";
- commands.CreateCommand("Rem").Parameter("message", ParameterType.Multiple)
- .Do(async (e) =>
- {
- string message = "";
- for (int i = 0; i < e.Args.Length; i++)
- {
- message += e.Args[i].ToString() + " ";
- }
- await e.Channel.SendMessage("I'll remember it for you.");
- givemessage = message;
- });
- commands.CreateCommand("Ram")
- .Do(async (e) =>
- {
- await e.Channel.SendMessage(givemessage);
- });
- }
- /*
- private void Audio()
- {
- commands.CreateCommand("yt").Parameter("message", ParameterType.Multiple)
- .Do(async (e) =>
- {
- string message = "";
- for (int i = 0; i < e.Args.Length; i++)
- {
- message += e.Args[i].ToString() + " ";
- }
- string link = message;
- IEnumerable<VideoInfo> videoInfos = DownloadUrlResolver.GetDownloadUrls(link);
- VideoInfo video = videoInfos
- .Where(info => info.CanExtractAudio)
- .OrderByDescending(info => info.AudioBitrate)
- .First();
- await e.Channel.SendMessage(message);
- if (video.RequiresDecryption)
- { DownloadUrlResolver.DecryptDownloadUrl(video);}
- var audioDownloader = new AudioDownloader(video, Path.Combine("C:/Games", video.Title + video.AudioExtension));
- audioDownloader.DownloadProgressChanged += (sender, args) => Console.WriteLine(args.ProgressPercentage * 0.85);
- audioDownloader.AudioExtractionProgressChanged += (sender, args) => Console.WriteLine(85 + args.ProgressPercentage * 0.15);
- audioDownloader.Execute();
- });
- }*/
- private void CoinFlip()
- {
- commands.CreateCommand("CF").Parameter("message", ParameterType.Multiple)
- .Do(async (e) =>
- {
- string message = "";
- for (int i = 0; i < e.Args.Length; i++)
- {
- message += e.Args[i].ToString() + " ";
- }
- int randomRoseIndex = rand.Next(CF.Length);
- string CFToPost = CF[randomRoseIndex];
- if(CFToPost == "CoinFlip/ct.png")
- {
- await e.Channel.SendMessage("Counter Terrorist Won !");
- if (message == "ct")
- {
- await e.Channel.SendMessage("You Win !");
- }
- if (message == "t")
- {
- await e.Channel.SendMessage("You Lose !");
- }
- await e.Channel.SendFile(CFToPost);
- }
- else
- {
- await e.Channel.SendMessage("Terrorist Won !");
- if (message == "t")
- {
- await e.Channel.SendMessage("You Win !");
- }
- if (message == "ct")
- {
- await e.Channel.SendMessage("You Lose !");
- }
- await e.Channel.SendFile(CFToPost);
- }
- });
- }
- private void Anime()
- {
- commands.CreateCommand("I").Parameter("message", ParameterType.Multiple)
- .Do(async (e) =>
- {
- string message = "";
- for (int iii = 0; iii < e.Args.Length; iii++)
- {
- message += e.Args[iii].ToString() + " ";
- }
- int yes = 0;
- /* do
- {
- int randomRoseIndex = rand.Next(350000);
- string url = "https://yande.re/post/show/" + randomRoseIndex.ToString();
- HttpWebRequest request = (HttpWebRequest)FtpWebRequest.Create(url);
- HttpWebResponse reponse = (HttpWebResponse)request.GetResponse();
- StreamReader sr = new StreamReader(reponse.GetResponseStream());
- string code = sr.ReadToEnd();
- if (code.Contains(message))
- {
- await e.Channel.SendMessage("https://yande.re/post/show/" + randomRoseIndex.ToString());
- yes = 1;
- }
- Console.WriteLine("test");
- } while (yes != 1);*/
- int be = 0;
- int en = 0;
- string url = "http://www.zerochan.net/" + message.ToString();
- // await e.Channel.SendMessage(url);
- HttpWebRequest request = (HttpWebRequest)FtpWebRequest.Create(url);
- HttpWebResponse reponse = (HttpWebResponse)request.GetResponse();
- StreamReader sr = new StreamReader(reponse.GetResponseStream());
- string code = sr.ReadToEnd();
- string pattern = " ";
- //get all spaces and other signs, like: '.' '?' '!'
- string input = code;
- string[] words = null;
- int i = 0;
- int count = 0;
- //Console.WriteLine(input);
- words = Regex.Split(input, pattern, RegexOptions.IgnoreCase);
- for (i = words.GetLowerBound(0); i <= words.GetUpperBound(0); i++)
- {
- if (words[i].ToString().IndexOf("tabindex=") != -1) { count = count + 1; }
- // Console.WriteLine(words[i].ToString());
- }
- //Console.WriteLine("Count of words:" + count.ToString());
- // Console.WriteLine((count - 3).ToString());
- int randomRoseIndex = rand.Next(count-3);
- for (int ii = 0; ii < randomRoseIndex+1; ii++)
- {
- be = code.IndexOf("src=");
- en = code.IndexOf("alt=");
- code = code.Substring(be + 10, code.Length - be - 10);
- be = code.IndexOf("src=");
- en = code.IndexOf("alt=");
- }
- //Console.WriteLine(randomRoseIndex.ToString());
- //Console.WriteLine(be.ToString());
- //Console.WriteLine(en.ToString());
- code = code.Substring(0,en-7);
- //Console.WriteLine("hey");
- // Console.WriteLine(code);
- // int n = en - be - 7;
- string z = "http:" + code + ".jpg";
- // await e.Channel.SendMessage(z);
- string localFilename = @"C:\Users\Ruben-San\Documents\Visual Studio 2015\Projects\DiscordBot\DiscordBot\Temp\Temp.jpg";
- using (WebClient client = new WebClient())
- {
- client.DownloadFile(z, localFilename);
- }
- await e.Channel.SendFile(@"C:\Users\Ruben-San\Documents\Visual Studio 2015\Projects\DiscordBot\DiscordBot\Temp\Temp.jpg");
- var filePath = (@"C:\Users\Ruben-San\Documents\Visual Studio 2015\Projects\DiscordBot\DiscordBot\Temp\Temp.jpg");
- if (File.Exists(filePath))
- {
- File.Delete(filePath);
- }
- });
- }
- private void Countdown()
- {
- commands.CreateCommand("AoT")
- .Do(async (e) =>
- {
- int i = 29;
- int j = 4;
- DateTime dateInTheFuture = new DateTime(2017, j, i);
- TimeSpan ts = dateInTheFuture - DateTime.Now;
- string date = ts.ToString();
- if ((date.ToLower().IndexOf('-') != -1)) {
- i = i + 7;
- if (j == 4 && i > 30)
- {
- i = 6;
- j = j + 1;
- }
- if (j == 5 && i > 31)
- {
- i = 3;
- j = j + 1;
- }
- if (j == 6 && i > 30)
- {
- i = 1;
- j = j + 1;
- }
- }
- DateTime dateInTheFuture02 = new DateTime(2017, j, i);
- TimeSpan ts02 = dateInTheFuture02 - DateTime.Now;
- date = ts02.ToString();
- string Days = date.Substring(0, 2);
- string Hours = date.Substring(3, 2);
- string Minute = date.Substring(5, 2);
- string Second = date.Substring(9, 6);
- await e.Channel.SendMessage("Days: " + Days + " Hours: " + Hours + " Minutes: " + Minute + " Seconds: " + Second);
- await e.Channel.SendMessage("+ 15 Hours for Sub");
- });
- }
- private void log(object sender, LogMessageEventArgs e)
- {
- Console.WriteLine(e.Message);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement