Exemplo n.º 1
0
        public ClientDiscord(Bot bot) : base(bot)
        {
            this.client = new Discord.DiscordClient();

            this.info.hasAudio          = true;
            this.info.hasColors         = false;
            this.info.hasNewlines       = true;
            this.info.messageSafeMaxLen = 1777;
            this.info.shortMessages     = false;

            this.client.MessageReceived += (sender, evt) =>
            {
                if (!evt.Message.IsAuthor && !evt.User.IsBot &&
                    (bot.info.channels == null ||
                     bot.info.channels.Contains("#" + evt.Channel.Name)) &&
                    evt.Server.Id.ToString() == bot.info.serverAddr)
                {
                    var usr     = new User {
                    };
                    var channel = new Channel {
                    };

                    usr.hostname = evt.User.Id.ToString();
                    usr.name     = evt.User.Nickname ?? evt.User.Name;

                    channel.id   = evt.Channel.Id;
                    channel.name = "#" + evt.Channel.Name;

                    bot.onMessage(usr, channel, evt.Message.Text);
                }
            };
        }
Exemplo n.º 2
0
        public DiscordInterface(string token)
        {
            if (token == "" || token == null)
            {
                Console.WriteLine("Couldn't get login token!");
                return;
            }

            client = new Discord.DiscordClient();
            client.MessageReceived += (s, e) =>
            {
                if (!e.Message.IsAuthor)
                {
                    DiscordUser    user    = new DiscordUser(e.User);
                    DiscordChannel channel = new DiscordChannel(e.Channel);
                    DiscordServer  server  = new DiscordServer(e.Server);
                    DiscordMessage message = new DiscordMessage(e.Message);
                    Task.Run(() => OnMessageRecieved(user, channel, server, message));
                }
            };

            client.UserUpdated += (s, e) =>
            {
                Task.Run(() => OnUserChange(new DiscordUser(e.Before), new DiscordUser(e.After), new DiscordServer(e.Server)));
            };

            client.UserJoined += (s, e) =>
            {
                DiscordUser   user   = new DiscordUser(e.User);
                DiscordServer server = new DiscordServer(e.Server);
                Task.Run(() => OnUserJoined(user, server));
            };

            client.UserBanned += (s, e) =>
            {
                DiscordUser   user   = new DiscordUser(e.User);
                DiscordServer server = new DiscordServer(e.Server);
                Task.Run(() => OnUserBanned(user, server));
            };

            client.UserUnbanned += (s, e) =>
            {
                DiscordUser   user   = new DiscordUser(e.User);
                DiscordServer server = new DiscordServer(e.Server);
                Task.Run(() => OnUserUnbanned(user, server));
            };

            client.UserLeft += (s, e) =>
            {
                DiscordUser   user   = new DiscordUser(e.User);
                DiscordServer server = new DiscordServer(e.Server);
                Task.Run(() => OnUserLeave(user, server));
            };

            client.ExecuteAndWait(async() =>
            {
                await client.Connect(token, Discord.TokenType.Bot);
            });
        }
Exemplo n.º 3
0
 public override void disconnect()
 {
     if (client != null)
     {
         client.Disconnect();
         client = null;
     }
 }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            Client = new Discord.DiscordClient();
            var kiteDunk = new KiteBot.KiteDunk();

            //Display all log messages in the console
            Client.LogMessage += (s, e) => Console.WriteLine("[{" + e.Severity + "}] {" + e.Source + "}: {" + e.Message + "}");


            //Echo back any message received, provided it didn't come from the bot itself
            //TODO: Rewrite this as a State Machine
            Client.MessageReceived += async(s, e) =>
            {
                if (!e.Message.IsAuthor && 0 <= e.Message.Text.IndexOf("GetDunked"))
                {
                    await Client.SendMessage(e.Channel, "http://i.imgur.com/QhcNUWo.gifv");
                }
                if (!e.Message.IsAuthor && e.Message.Text.StartsWith("@KiteBot"))
                {
                    if (e.Message.Text.StartsWith("@KiteBot #420") || e.Message.Text.ToLower().StartsWith("@KiteBot #blaze") ||
                        0 <= e.Message.Text.ToLower().IndexOf("waifu", 0))
                    {
                        await Client.SendMessage(e.Channel, "http://420.moe/");
                    }
                    else if (0 <= e.Message.Text.ToLower().IndexOf("help", 5))
                    {
                        var nl = Environment.NewLine;
                        await Client.SendMessage(e.Channel, "Current Commands are:" + nl + "#420" + nl + "google" + nl + "youtube" + nl + "kitedunk" + nl + "help");
                    }
                    else if (0 <= e.Message.Text.ToLower().IndexOf("google", 0))
                    {
                        await Client.SendMessage(e.Channel, "http://lmgtfy.com/?q=" + e.Message.Text.ToLower().Substring(16).Replace(' ', '+'));
                    }
                    else if (0 <= e.Message.Text.ToLower().IndexOf("youtube", 0))
                    {
                        await Client.SendMessage(e.Channel, "https://www.youtube.com/results?search_query=" + e.Message.Text.ToLower().Substring(17).Replace(' ', '+'));
                    }
                    else if (0 <= e.Message.Text.ToLower().IndexOf("dunk", 0))
                    {
                        await Client.SendMessage(e.Channel, kiteDunk.GetRandomKiteDunk());
                    }
                    else
                    {
                        await Client.SendMessage(e.Channel, "KiteBot ver. 0.4-PreAlpha \"F**k you\"");
                    }
                }
            };

            //Convert our sync method to an async one and block the Main function until the bot disconnects
            Client.Run(async() =>
            {
                //Connect to the Discord server using our email and password
                await Client.Connect("", "");
            });
        }
Exemplo n.º 5
0
		static void Main(string[] args)
        {
            Client = new Discord.DiscordClient();
			var kiteDunk = new KiteBot.KiteDunk();

			//Display all log messages in the console
			Client.LogMessage += (s, e) => Console.WriteLine("[{"+e.Severity+"}] {"+e.Source+"}: {"+e.Message+"}");
			
			
			//Echo back any message received, provided it didn't come from the bot itself
			//TODO: Rewrite this as a State Machine
			Client.MessageReceived += async (s, e) =>
			{
				if (!e.Message.IsAuthor && 0 <= e.Message.Text.IndexOf("GetDunked"))
				{
					await Client.SendMessage(e.Channel, "http://i.imgur.com/QhcNUWo.gifv");
				}
				if (!e.Message.IsAuthor && e.Message.Text.StartsWith("@KiteBot"))
				{
					if (e.Message.Text.StartsWith("@KiteBot #420") || e.Message.Text.ToLower().StartsWith("@KiteBot #blaze") ||
					    0 <= e.Message.Text.ToLower().IndexOf("waifu", 0))
					{
						await Client.SendMessage(e.Channel, "http://420.moe/");
					}
					else if (0 <= e.Message.Text.ToLower().IndexOf("help", 5))
					{
						var nl = Environment.NewLine;
						await Client.SendMessage(e.Channel, "Current Commands are:" + nl + "#420" + nl + "google" + nl + "youtube" + nl + "kitedunk" + nl + "help");
					}
					else if (0 <= e.Message.Text.ToLower().IndexOf("google", 0))
					{
						await Client.SendMessage(e.Channel, "http://lmgtfy.com/?q=" + e.Message.Text.ToLower().Substring(16).Replace(' ', '+'));
					}
					else if (0 <= e.Message.Text.ToLower().IndexOf("youtube", 0))
					{
						await Client.SendMessage(e.Channel, "https://www.youtube.com/results?search_query=" + e.Message.Text.ToLower().Substring(17).Replace(' ', '+'));
					}
					else if (0 <= e.Message.Text.ToLower().IndexOf("dunk", 0))
					{
						await Client.SendMessage(e.Channel, kiteDunk.GetRandomKiteDunk());
					}
					else
					{
						await Client.SendMessage(e.Channel, "KiteBot ver. 0.4-PreAlpha \"F**k you\"");
					}
				}
			};

			//Convert our sync method to an async one and block the Main function until the bot disconnects
			Client.Run(async () =>
			{
				//Connect to the Discord server using our email and password
				await Client.Connect("", "");
			});
        }
Exemplo n.º 6
0
        async void Initialize()
        {
            _client              = new Discord.DiscordClient();
            _client.Log.Message += (s, e) => { Console.WriteLine(e.Message); };

            try {
                await _client.Connect(_botToken, Discord.TokenType.Bot);

                Console.WriteLine("Connected!");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return;
            }

            AttachEventHandlers();

            InitializeModules();
        }
Exemplo n.º 7
0
 public AClient(string token)
 {
     discordClient = new Discord.DiscordClient(token);
 }