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); } }; }
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); }); }
public override void disconnect() { if (client != null) { client.Disconnect(); client = null; } }
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("", ""); }); }
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("", ""); }); }
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(); }
public AClient(string token) { discordClient = new Discord.DiscordClient(token); }