mirror of
				https://github.com/osmarks/autobotrobot
				synced 2025-10-31 16:02:59 +00:00 
			
		
		
		
	SQL null is apparently awful so use _global for global userdata
This commit is contained in:
		| @@ -7,7 +7,7 @@ def setup(bot): | |||||||
|  |  | ||||||
|     async def get_userdata(db, user, guild, key): |     async def get_userdata(db, user, guild, key): | ||||||
|         return (await db.execute_fetchone("SELECT * FROM user_data WHERE user_id = ? AND guild_id = ? AND key = ?", (user, guild, key)) |         return (await db.execute_fetchone("SELECT * FROM user_data WHERE user_id = ? AND guild_id = ? AND key = ?", (user, guild, key)) | ||||||
|             or await db.execute_fetchone("SELECT * FROM user_data WHERE user_id = ? AND guild_id IS NULL AND key = ?", (user, key))) |             or await db.execute_fetchone("SELECT * FROM user_data WHERE user_id = ? AND guild_id = '_global' AND key = ?", (user, key))) | ||||||
|     async def set_userdata(db, user, guild, key, value): |     async def set_userdata(db, user, guild, key, value): | ||||||
|         await db.execute("INSERT OR REPLACE INTO user_data VALUES (?, ?, ?, ?)", (user, guild, key, value)) |         await db.execute("INSERT OR REPLACE INTO user_data VALUES (?, ?, ?, ?)", (user, guild, key, value)) | ||||||
|         await bot.database.commit() |         await bot.database.commit() | ||||||
| @@ -23,7 +23,7 @@ def setup(bot): | |||||||
|     async def list_cmd(ctx, query="%", scope="guild", show_values: bool = False): |     async def list_cmd(ctx, query="%", scope="guild", show_values: bool = False): | ||||||
|         "Lsit userdata keys in a given scope (guild/global) matching your query (LIKE syntax). Can also show the associated values." |         "Lsit userdata keys in a given scope (guild/global) matching your query (LIKE syntax). Can also show the associated values." | ||||||
|         if scope == "global": |         if scope == "global": | ||||||
|             rows = await bot.database.execute_fetchall("SELECT * FROM user_data WHERE user_id = ? AND guild_id IS NULL AND key LIKE ?", (ctx.author.id, query)) |             rows = await bot.database.execute_fetchall("SELECT * FROM user_data WHERE user_id = ? AND guild_id = '_global' AND key LIKE ?", (ctx.author.id, query)) | ||||||
|         else: |         else: | ||||||
|             rows = await bot.database.execute_fetchall("SELECT * FROM user_data WHERE user_id = ? AND guild_id = ? AND key LIKE ?", (ctx.author.id, ctx.guild.id, query)) |             rows = await bot.database.execute_fetchall("SELECT * FROM user_data WHERE user_id = ? AND guild_id = ? AND key LIKE ?", (ctx.author.id, ctx.guild.id, query)) | ||||||
|         out = [] |         out = [] | ||||||
| @@ -54,7 +54,7 @@ def setup(bot): | |||||||
|     async def set_global(ctx, key, *, value): |     async def set_global(ctx, key, *, value): | ||||||
|         check_key(key) |         check_key(key) | ||||||
|         value = preprocess_value(value) |         value = preprocess_value(value) | ||||||
|         await set_userdata(bot.database, ctx.author.id, None, key, value) |         await set_userdata(bot.database, ctx.author.id, "_global", key, value) | ||||||
|         await ctx.send(f"**{key}** set (scope global)") |         await ctx.send(f"**{key}** set (scope global)") | ||||||
|  |  | ||||||
|     @userdata.command() |     @userdata.command() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user