/// <summary>
		/// Check if user has role.
		/// </summary>
		/// <param name="user"></param>
		/// <param name="role"></param>
		/// <returns></returns>
		public async Task<bool> HasRoleAsync(IGuildUser user, string role)
		{
			IRole guildRole = (await GetRoles(new string[] { role }))[0];

			string hasRoleQuery = $"SELECT EXISTS(SELECT * FROM userRoles WHERE user_id = {user.Id} AND role_ID = {guildRole.Id});";
			List<DatabaseRow> hasRole = DatabaseModule.RunQuery(Config.RoleDatabase, hasRoleQuery);

			return hasRole[0].GetData<long>(0) == 1;
		}
示例#2
0
        /// <summary>
        /// Try to get the moon composition from a parsed moon.
        /// </summary>
        /// <param name="moon"></param>
        /// <param name="composition"></param>
        /// <returns></returns>
        bool TryGetMoon(SystemMoon moon, out MoonComposition composition)
        {
            composition = null;

            // Query for retriving a list of all ore types as well as the quantity for a moon.
            string moonDataQuery = $"SELECT c.type_name, b.quantity FROM mapdata a, moondata b, typedata c WHERE a.item_name = '{moon.Name}' AND b.moon_id = a.item_id AND c.type_id = b.type_id;";
            // Query for checking wether the moon station is a tatara or not.
            string isTataraQuery = $"SELECT EXISTS(SELECT * FROM moonrefinery a, mapdata b WHERE a.moon_id = b.item_id and b.item_name = '{moon.Name}');";

            List <DatabaseRow> moonData = DatabaseModule.RunQuery(Config.Database, moonDataQuery);
            List <DatabaseRow> isTatara = DatabaseModule.RunQuery(Config.Database, isTataraQuery);

            if (moonData.Count == 0)
            {
                return(false);
            }

            composition = new MoonComposition(moon, isTatara[0].GetData <long>(0) == 1, moonData);
            return(true);
        }