示例#1
0
        public void CheckChannels(ITextChannel channel)
        {
            try
            {
                foreach (Subreddit sr in reddits)
                {
                    var sub   = api.GetSubredditAsync(sr.Name).Result;
                    var links = sub.GetNewLinksAsync(new ListingRequest {
                        Limit = 1
                    }).Result;
                    foreach (Link link in links.OfType <Link>())
                    {
                        Console.WriteLine("__" + link.Title + " " + link.Url + " " + link.Permalink);

                        if (sr.LastLink != null)
                        {
                            Console.WriteLine("__" + sr.LastLink);
                        }
                        if (sr.LastLink == null)
                        {
                            sr.LastLink = link.Url;
                        }
                        else if (!link.Url.ToLower().Equals(sr.LastLink.ToLower()))
                        {
                            DiscordUtil.SendMessage(channel, "New post in /r/" + sr.Name + "! https://www.reddit.com" + link.Permalink);
                            sr.LastLink = link.Url;
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }
示例#2
0
        public void Check(ITextChannel channel)
        {
            bool       wasLive = IsLive;
            bool       liveNow = false;
            StreamInfo info    = GetTwitchInfo();

            if (info == null)
            {
                liveNow = false;
            }
            else
            {
                liveNow = true;
            }

            if (IsLive != liveNow)
            {
                HasChanged = true;
                IsLive     = liveNow;
            }

            if (HasCheckedBefore && IsLive && !wasLive)
            {
                DiscordUtil.SendMessage(channel, info.Name + " has just gone live on Twitch! \n" + info.Game + ": " + info.Title + "\n http://twitch.tv/" + ChannelName);
            }
            HasCheckedBefore = true;
        }
示例#3
0
        public override void RunCommand(Shard shard, ITextChannel channel, string[] commandParams)
        {
            if (commandParams.Length < 2)
            {
                SendHelpMessage(channel);
            }

            manager.AddChannel(commandParams[1]);
            DiscordUtil.SendMessage(channel, "Added subreddit: " + commandParams[1]);
        }
示例#4
0
        public override void RunCommand(Shard shard, ITextChannel channel, string[] commandParams)
        {
            String outstring = "\n";

            foreach (Command c in commands.commandList)
            {
                outstring += "`" + c.Name + " | " + c.GetHelpText() + " | " + c.RequiredRank + "` \n";
            }
            DiscordUtil.SendMessage(channel, outstring);
        }
示例#5
0
        public override void RunCommand(Shard shard, ITextChannel channel, string[] commandParams)
        {
            if (commandParams.Length < 2)
            {
                SendHelpMessage(channel);
            }
            YoutubeChannel yt = manager.GetChannelByChannelID(commandParams[1]);

            if (yt != null)
            {
                yt.GetLatestVideo();
                yt.TellVideo(channel);
            }
            else
            {
                DiscordUtil.SendMessage(channel, "No channel found with ID " + commandParams[1]);
            }
        }
示例#6
0
        public override void RunCommand(Shard shard, ITextChannel channel, string[] commandParams)
        {
            if (commandParams.Length < 2)
            {
                SendHelpMessage(channel);
            }

            TwitchChannel tw = manager.GetChannelFromName(commandParams[1]);

            if (tw == null)
            {
                DiscordUtil.SendMessage(channel, "I don't know of that channel.");
            }
            else
            {
                String message = tw.IsLive ? tw.ChannelName + " is live now! http://www.twitch.tv/" + tw.ChannelName : tw.ChannelName + " is not live right now.";
                DiscordUtil.SendMessage(channel, message);
            }
        }
示例#7
0
        private void OnCommandMessage(object sender, CommandEventArgs e)
        {
            DiscordMessage message = e.Message;

            String[] splitMessage = message.Content.Split(' ');

            String commandName = splitMessage[0].Substring(1, splitMessage[0].Length - 1).ToLower();

            foreach (Command command in commandList)
            {
                if (command.Name.ToLower().Equals(commandName))
                {
                    if (HasRequiredRank(command, message.Author))
                    {
                        command.RunCommand(e.Shard, e.TextChannel, splitMessage);
                    }
                    else
                    {
                        DiscordUtil.SendMessage(e.TextChannel, "You do not have permission to run that command!");
                    }
                }
            }
        }
示例#8
0
        public override void RunCommand(Shard shard, ITextChannel channel, string[] commandParams)
        {
            if (commandParams.Length < 3)
            {
                SendHelpMessage(channel);
                return;
            }

            DiscordUser dUser = DiscordUtil.DiscordUserFromName(shard, commandParams[1]);

            if (dUser == null)
            {
                DiscordUtil.SendMessage(channel, "Unable to find user: "******"Invalid rank!");
                return;
            }

            User user = JfsPing.UserManager.UserFromDiscordUser(dUser);

            JfsPing.UserManager.SetUserRank(user, rank);
            DiscordUtil.SendMessage(channel, "Set rank for " + commandParams[1] + " to " + rank);
        }
示例#9
0
 public override void RunCommand(Shard shard, ITextChannel channel, string[] commandParams)
 {
     DiscordUtil.SendMessage(channel, Response);
 }
示例#10
0
 public override void RunCommand(Shard shard, ITextChannel channel, string[] commandParams)
 {
     JfsPing.UserManager.ReloadUsers();
     DiscordUtil.SendMessage(channel, "Reloaded Users!");
 }
示例#11
0
 public void SendHelpMessage(ITextChannel channel)
 {
     DiscordUtil.SendMessage(channel, "`" + GetHelpText() + "`");
 }
示例#12
0
 public void TellVideo(ITextChannel channel)
 {
     DiscordUtil.SendMessage(channel, LastVideo.Author + " uploaded a video! " + LastVideo.Title + " " + LastVideo.URL);
 }