Example #1
0
        private string GetGuildPrefix(ulong id)
        {
            string prefix;

            return(GuildPrefixes.TryGetValue(id, out prefix)
                ? prefix
                : "!");
        }
Example #2
0
 private Task OnGuildAvailable(GuildCreateEventArgs e)
 {
     if (!ServerConfigurationManager.LocalConfiguration.ContainsKey(e.Guild.Id))
     {
         ServerConfigurationManager.Instance.GenerateConfigurationFromIdAsync(e.Guild.Id).GetAwaiter();
     }
     if (!GuildPrefixes.ContainsKey(e.Guild.Id))
     {
         GuildPrefixes.Add(e.Guild.Id, "!");
     }
     e.Client.DebugLogger.LogMessage(LogLevel.Info, "Silk!", $"Guild available: {e.Guild.Name}", DateTime.Now);
     return(Task.CompletedTask);
 }
Example #3
0
        public static async Task SetPrefix(ulong guildId, string prefix)
        {
            var guildIdString = guildId.ToString();

            using (var prefixesDatabase = new SqliteConnection(DatabasePath))
            {
                bool doesPrefixExist;

                await prefixesDatabase.OpenAsync();

                using (SqliteCommand checkExist = prefixesDatabase.CreateCommand())
                {
                    checkExist.CommandText = $"select * from {PrefixTable} where id like @ID";
                    checkExist.Parameters.Add("@ID", SqliteType.Text);
                    checkExist.Parameters["@ID"].Value = guildIdString;

                    doesPrefixExist = (await checkExist.ExecuteScalarAsync()) == null ? false : true;
                }

                if (doesPrefixExist)
                {
                    using (SqliteCommand updatePrefix = prefixesDatabase.CreateCommand())
                    {
                        updatePrefix.CommandText = $"update {PrefixTable} set prefix = @PREFIX where id = @ID";
                        updatePrefix.Parameters.Add("@PREFIX", SqliteType.Text);
                        updatePrefix.Parameters.Add("@ID", SqliteType.Text);
                        updatePrefix.Parameters["@PREFIX"].Value = prefix;
                        updatePrefix.Parameters["@ID"].Value     = guildIdString;

                        await updatePrefix.ExecuteNonQueryAsync();
                    }
                }
                else
                {
                    using (SqliteCommand insertPrefix = prefixesDatabase.CreateCommand())
                    {
                        insertPrefix.CommandText = $"insert into {PrefixTable} (id, prefix) values (@ID, @PREFIX)";
                        insertPrefix.Parameters.Add("@ID", SqliteType.Text);
                        insertPrefix.Parameters.Add("@PREFIX", SqliteType.Text);
                        insertPrefix.Parameters["@ID"].Value     = guildIdString;
                        insertPrefix.Parameters["@PREFIX"].Value = prefix;

                        await insertPrefix.ExecuteNonQueryAsync();
                    }
                }

                prefixesDatabase.Close();
            }

            GuildPrefixes.AddOrUpdate(guildId, prefix, (id, oldprefix) => oldprefix = prefix);
        }
Example #4
0
 private Task OnGuildJoin(GuildCreateEventArgs e)
 {
     GuildPrefixes.Add(e.Guild.Id, "!");
     return(Task.CompletedTask);
 }