public override void Install(CommandsManager manager)
        {
            /**
             * cool hack
             */
            manager.Client.GuildUpdated += (sender, e) =>
            {
                Console.WriteLine($"[TestServerLog Module] Guild update. Old guild name: {e.OldServer.Name}");
                if (DiscordSharpTestServer != null)
                {
                    if (e.NewServer.ID == DiscordSharpTestServer.ID) //test server
                    {
                        Console.WriteLine($"[TestServerLog Module] Posting comparison.");
                        string msg = $"**Server Update**\n";
                        msg += $"\n**Name: **: {e.OldServer.Name} -> {e.NewServer.Name}";
                        msg += $"\n**Icon:** <{e.OldServer.IconURL}> -> <{e.OldServer.IconURL}>";
                        msg += $"\n**ID:** {e.NewServer.ID}";
                        msg += $"\n**Owner: ** {e.OldServer.Owner.ID} -> {e.NewServer.Owner.ID}";
                        msg += $"\n**Region: ** {e.OldServer.Region} -> {e.NewServer.Region}";
                        msg += $"\n**Users Online: **";
                        foreach (var user in DiscordSharpTestServer.Members)
                        {
                            if (user.Value != null && user.Value.Status == Status.Online)
                            {
                                msg += $"{user.Value.Username}, ";
                            }
                        }
                        msg += "\n------------------------------";
                        LogChannel.SendMessage(msg);

                        DiscordSharpTestServer = e.NewServer;
                    }
                }
            };
            manager.Client.ChannelUpdated += (sender, e) =>
            {
                if (LogChannel != null && DiscordSharpTestServer != null)
                {
                    if (e.NewChannel.Parent.ID == DiscordSharpTestServer.ID)
                    {
                        string msg = $"**Channel Update**\n";
                        msg += $"\n**Name: ** {e.OldChannel.Name} -> {e.NewChannel.Name}";
                        msg += $"\n**Topic:** {e.OldChannel.Topic} -> {e.NewChannel.Topic}";
                        msg += $"\n**ID:** {e.NewChannel.ID}";
                        msg += $"\n**Users Online: **";
                        foreach (var user in DiscordSharpTestServer.Members)
                        {
                            if (user.Value != null && user.Value.Status == Status.Online)
                            {
                                msg += $"{user.Value.Username}, ";
                            }
                        }
                        msg += "\n------------------------------";
                        LogChannel.SendMessage(msg);
                    }
                }
            };
        }
 private void SendMessage(string message)
 {
     if (currentChannel != null && !string.IsNullOrEmpty(message))
     {
         currentChannel.SendMessage(message);
         MainScroller.ScrollToBottom();
     }
 }
        private static async Task <bool> checkNews()
        {
            string html;

            try
            {
                using (var client = new WebClient())
                {
                    html = client.DownloadString("http://aq3d.com/");
                }
            }

            catch
            {
                return(false);
            }

            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml(html);
            HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//div[@class='caption']/a");
            DiscordChannel     news  = client.Guilds[289077903403122689].Channels.Where(x => x.ID == 289567617767833600).FirstOrDefault();

            bool result = false;

            foreach (HtmlNode node in nodes)
            {
                string tNews = "http://aq3d.com" + node.GetAttributeValue("href", "");

                if (lastNews == tNews)
                {
                    break;
                }

                result   = true;
                lastNews = tNews;
                await news.SendMessage(tNews);

                saveTimeouts();
            }

            return(result);
        }
        public void SendMessage(Action <object> callback, string serverID, string channelID, string message)
        {
            DiscordServer server = client.GetServersList().Find(x => x.id == serverID);

            if (server != null)
            {
                DiscordChannel channel = server.channels.Find(x => x.ID == channelID);
                if (channel != null)
                {
                    DiscordMessage messageSent     = channel.SendMessage(message);
                    object         messageCallback = new
                    {
                        MessageID        = messageSent.id,
                        MessageContent   = messageSent.content,
                        MessageChannelID = messageSent.Channel().ID,
                        MessageServerID  = messageSent.Channel().parent.id,
                        MessageAuthorID  = messageSent.author.ID
                    };
                    callback.Invoke(messageCallback);
                }
            }
            callback.Invoke(null);
        }
 public static async Task SendMessage2(DiscordChannel channel, string message)
 {
     await channel.SendMessage(message + (inmode ? ", " + modes[mode] : "."), false, null);
 }
Exemple #6
0
 public void PrintMessage(string message)
 {
     _channel.SendMessage(message);
 }