예제 #1
0
        public async Task GetEmoteId(string emote)
        {
            await Task.Delay(200);

            await Context.Channel.DeleteMessageAsync(Context.Message);

            BotFrame.consoleOut($"{emote}");
        }
예제 #2
0
        public async Task SignUp(string option, [Remainder] string twitch = "")
        {
            await Task.Delay(200);

            await Context.Channel.DeleteMessageAsync(Context.Message);

            var server = _main.ServerList.FirstOrDefault(x => x.ServerId == Context.Guild.Id);

            switch (option.ToLower())
            {
            case "add":
                if (server.StreamerList.FirstOrDefault(x => x.DiscordId == Context.User.Id) != null)
                {
                    BotFrame.EmbedWriter(Context.Channel, Context.User,
                                         "Skynet",
                                         $"Sorry but Skynet is already watching you", time: -1);
                    return;
                }
                Streamer newStreamer = new Streamer()
                {
                    AutoPost    = false,
                    GiveRole    = true,
                    DiscordId   = Context.User.Id,
                    DiscordName = Context.User.ToString(),
                    TwitchName  = twitch,
                    Mention     = MentionLevel.None,
                    Streaming   = false
                };
                server.StreamerList.Add(newStreamer);
                BotFrame.SaveFile("servers");
                BotFrame.EmbedWriter(Context.Channel, Context.User,
                                     "Skynet",
                                     $"Skynet is now watching {Context.User.Mention}", time: -1);
                break;

            case "remove":
                if (server.StreamerList.FirstOrDefault(x => x.DiscordId == Context.User.Id) == null)
                {
                    BotFrame.EmbedWriter(Context.Channel, Context.User,
                                         "Skynet",
                                         $"Sorry but Skynet is not watching you yet", time: -1);
                    return;
                }
                var streamRole = Context.Guild.Roles.FirstOrDefault(x => x.Id == server.StreamingRole);
                var user       = Context.Guild.Users.FirstOrDefault(x => x.Id == Context.User.Id);
                if (user.Roles.Contains(streamRole))
                {
                    user.RemoveRoleAsync(streamRole);
                }
                var streamer = server.StreamerList.FirstOrDefault(x => x.DiscordId == Context.User.Id);
                server.StreamerList.Remove(streamer);
                BotFrame.SaveFile("servers");
                BotFrame.EmbedWriter(Context.Channel, Context.User,
                                     "Skynet",
                                     $"Skynet is no longer watching {Context.User.Mention}", time: -1);
                break;
            }
        }
예제 #3
0
        protected override BotFrame ActualLoadBotFrame(int idToLoad)
        {
            var result = new BotFrame()
            {
                Name = "Mock Frame " + idToLoad.ToString()
            };

            result.SetSpace(5, 5, 5, 5, 5, 5);
            return(result);
        }
예제 #4
0
        public async Task NoRole()
        {
            await Task.Delay(200);

            await Context.Channel.DeleteMessageAsync(Context.Message);

            string outNone = "";

            foreach (var user in Context.Guild.Users.Where(x => x.Roles.Count == 1))
            {
                outNone += $"{user.Mention} Joined: {user.JoinedAt}";
            }
            if (outNone == "")
            {
                await BotFrame.EmbedWriter(Context.Channel, Context.User,
                                           "Skynet Admin",
                                           $"Sorry no users found without any roles.");

                return;
            }
            await BotFrame.EmbedWriter(Context.Channel, Context.User,
                                       "Skynet Admin",
                                       $"Users found with no role:{Environment.NewLine}{outNone}");
        }