示例#1
0
        private async void TwitchInUserJoined(object sender, TwitchLib.Client.Events.OnUserJoinedArgs e)
        {
            if (TimerStuff.Uptime < 300)
            {
                return;
            }
            BotChannel bChan = await Program.Channels.GetTwitchChannelByName(e.Channel);

            if (!bChan.isLive)
            {
                return;
            }
            UserEntry user = await Program.Users.GetUserByTwitchUserName(e.Username);

            CouchSettings settings = await Settings <CouchSettings>(bChan, PLUGINNAME);

            if (user == null || settings == null)
            {
                return;
            }
            if (settings._greeted.Exists(p => p == user._twitchUsername))
            {
                return;
            }
            if (!settings._couches.ContainsKey(bChan.Key))
            {
                settings._couches[bChan.Key] = new CouchEntry();
            }
            if (user != null && bChan != null && settings._active)
            {
                CouchUserStats uStats = await GetUserCouchStats(bChan.Key, user.Key);

                if (uStats.CountSeated >= settings.potatoGreeting)
                {
                    if (!await dbStrings.TableInit(bChan))
                    {
                        await DBStringsFirstSetup(bChan);
                    }
                    Program.TwitchSayMessage(e.Channel, dbStrings.GetRandomLine(bChan, "GREET").Replace("[USER]", user._twitchDisplayname));
                    settings._greeted.Add(user._twitchUsername);
                    SaveBaseSettings(bChan, PLUGINNAME, settings);
                }
            }
        }
示例#2
0
 private async Task DBVerify(BotChannel bChan)
 {
     if (!await dbStrings.TableInit(bChan))
     {
         await Task.Run(() =>
         {
             DefaultDBLines lines = new DefaultDBLines();
             foreach (string line in lines._lines)
             {
                 dbStrings.SaveNewLine(bChan, "INSULT", line);
             }
         });
     }
 }