@@ -30,8 +30,8 @@ async def autocomplete_badges(ctx:discord.AutocompleteContext):
30
30
return results
31
31
32
32
async def _autocomplete_requestor_badges (ctx , requestor_id , requestee_id ):
33
- requestor_badges = [b ['badge_name ' ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in db_get_user_badge_names (requestor_id )]
34
- requestee_badges = [b ['badge_name ' ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in db_get_user_badge_names (requestee_id )]
33
+ requestor_badges = [b ['badge_filename ' ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in db_get_user_badge_names (requestor_id )] # @TODO improve query to pull badge_name
34
+ requestee_badges = [b ['badge_filename ' ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in db_get_user_badge_names (requestee_id )] # @TODO improve query to pull badge_name
35
35
badge_names = [b for b in requestor_badges if b not in requestee_badges ]
36
36
if len (badge_names ) == 0 :
37
37
badge_names = ["This user already has all badges that you possess! Use '/trade cancel' to cancel this trade." ]
@@ -41,8 +41,8 @@ async def _autocomplete_requestor_badges(ctx, requestor_id, requestee_id):
41
41
return [result for result in badge_names if ctx .value .lower () in result .lower ()]
42
42
43
43
async def _autocomplete_requestee_badges (ctx , requestee_id , requestor_id ):
44
- requestor_badges = [b ['badge_name ' ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in db_get_user_badge_names (requestor_id )]
45
- requestee_badges = [b ['badge_name ' ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in db_get_user_badge_names (requestee_id )]
44
+ requestor_badges = [b ['badge_filename ' ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in db_get_user_badge_names (requestor_id )] # @TODO improve query to pull badge_name
45
+ requestee_badges = [b ['badge_filename ' ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in db_get_user_badge_names (requestee_id )] # @TODO improve query to pull badge name
46
46
badge_names = [b for b in requestee_badges if b not in requestor_badges ]
47
47
if len (badge_names ) == 0 :
48
48
badge_names = ["You already have all badges that this user possesses! Use '/trade cancel' to cancel this trade." ]
@@ -403,10 +403,10 @@ async def _cancel_invalid_related_trades(self, active_trade):
403
403
404
404
async def _requestor_already_has_badges (self , interaction , active_trade , requestor , requestee ):
405
405
requestor_badges = db_get_user_badge_names (active_trade ["requestor_id" ])
406
- requestor_badges = [b ["badge_name " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in requestor_badges ]
406
+ requestor_badges = [b ["badge_filename " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in requestor_badges ]
407
407
408
408
trade_requested_badges = db_get_trade_requested_badges (active_trade )
409
- trade_requested_badges = [b ["badge_name " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in trade_requested_badges ]
409
+ trade_requested_badges = [b ["badge_filename " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in trade_requested_badges ]
410
410
411
411
badges_in_trade_requestor_has = [t for t in requestor_badges if t in trade_requested_badges ]
412
412
@@ -448,10 +448,10 @@ async def _requestor_already_has_badges(self, interaction, active_trade, request
448
448
449
449
async def _requestee_already_has_badges (self , interaction , active_trade , requestor , requestee ):
450
450
requestee_badges = db_get_user_badge_names (active_trade ["requestee_id" ])
451
- requestee_badges = [b ["badge_name " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in requestee_badges ]
451
+ requestee_badges = [b ["badge_filename " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in requestee_badges ]
452
452
453
453
trade_offered_badges = db_get_trade_offered_badges (active_trade )
454
- trade_offered_badges = [b ["badge_name " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in trade_offered_badges ]
454
+ trade_offered_badges = [b ["badge_filename " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in trade_offered_badges ]
455
455
456
456
badges_in_trade_requestee_has = [t for t in requestee_badges if t in trade_offered_badges ]
457
457
@@ -492,10 +492,10 @@ async def _requestee_already_has_badges(self, interaction, active_trade, request
492
492
493
493
async def _requestor_still_has_badges (self , interaction , active_trade , requestor , requestee ):
494
494
requestor_badges = db_get_user_badge_names (active_trade ["requestor_id" ])
495
- requestor_badges = [b ["badge_name " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in requestor_badges ]
495
+ requestor_badges = [b ["badge_filename " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in requestor_badges ]
496
496
497
497
trade_offered_badges = db_get_trade_offered_badges (active_trade )
498
- trade_offered_badges = [b ["badge_name " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in trade_offered_badges ]
498
+ trade_offered_badges = [b ["badge_filename " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in trade_offered_badges ]
499
499
500
500
badges_in_trade_requestor_has = [t for t in requestor_badges if t in trade_offered_badges ]
501
501
@@ -536,10 +536,10 @@ async def _requestor_still_has_badges(self, interaction, active_trade, requestor
536
536
537
537
async def _requestee_still_has_badges (self , interaction , active_trade , requestor , requestee ):
538
538
requestee_badges = db_get_user_badge_names (active_trade ["requestee_id" ])
539
- requestee_badges = [b ["badge_name " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in requestee_badges ]
539
+ requestee_badges = [b ["badge_filename " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in requestee_badges ]
540
540
541
541
trade_requested_badges = db_get_trade_requested_badges (active_trade )
542
- trade_requested_badges = [b ["badge_name " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in trade_requested_badges ]
542
+ trade_requested_badges = [b ["badge_filename " ].replace ('_' , ' ' ).replace ('.png' , '' ) for b in trade_requested_badges ]
543
543
544
544
badges_in_trade_requestee_has = [t for t in requestee_badges if t in trade_requested_badges ]
545
545
@@ -900,7 +900,7 @@ async def _generate_offered_embed_and_image(self, active_trade):
900
900
requestor = await self .bot .current_guild .fetch_member (active_trade ["requestor_id" ])
901
901
902
902
offered_badges = db_get_trade_offered_badges (active_trade )
903
- offered_badge_filenames = [f"{ b ['badge_name' ]. replace ( ' ' , '_' ) } .png " for b in offered_badges ]
903
+ offered_badge_filenames = [f"{ b ['badge_filename' ] } " for b in offered_badges ]
904
904
offered_image_id = f"{ active_trade ['id' ]} -offered"
905
905
offered_image = await generate_badge_trade_showcase (
906
906
offered_badge_filenames ,
@@ -922,7 +922,7 @@ async def _generate_requested_embed_and_image(self, active_trade):
922
922
requestor = await self .bot .current_guild .fetch_member (active_trade ["requestor_id" ])
923
923
924
924
requested_badges = db_get_trade_requested_badges (active_trade )
925
- requested_badge_filenames = [f"{ b ['badge_name' ]. replace ( ' ' , '_' ) } .png " for b in requested_badges ]
925
+ requested_badge_filenames = [f"{ b ['badge_filename' ] } " for b in requested_badges ]
926
926
requested_image_id = f"{ active_trade ['id' ]} -requested"
927
927
requested_image = await generate_badge_trade_showcase (
928
928
requested_badge_filenames ,
@@ -1032,11 +1032,11 @@ async def _add_offered_badge_to_trade(self, ctx, active_trade, badge):
1032
1032
# Don't need to check for active because already done so in propose()
1033
1033
requestee = await self .bot .current_guild .fetch_member (active_trade ["requestee_id" ])
1034
1034
requestee_badges = db_get_user_badge_names (active_trade ["requestee_id" ])
1035
- requestee_badge_names = [b ["badge_name " ].replace (".png" , "" ).replace ("_" , " " ) for b in requestee_badges ]
1035
+ requestee_badge_names = [b ["badge_filename " ].replace (".png" , "" ).replace ("_" , " " ) for b in requestee_badges ]
1036
1036
1037
1037
requestor = await self .bot .current_guild .fetch_member (active_trade ["requestor_id" ])
1038
1038
requestor_badges = db_get_user_badge_names (active_trade ["requestor_id" ])
1039
- requestor_badge_names = [b ["badge_name " ].replace (".png" , "" ).replace ("_" , " " ) for b in requestor_badges ]
1039
+ requestor_badge_names = [b ["badge_filename " ].replace (".png" , "" ).replace ("_" , " " ) for b in requestor_badges ]
1040
1040
1041
1041
logger .info (f"{ Fore .CYAN } { requestor .display_name } is looking to offer `{ badge } ` to { requestee .display_name } ." )
1042
1042
@@ -1107,11 +1107,11 @@ async def _add_requested_badge_to_trade(self, ctx, active_trade, badge):
1107
1107
# Don't need to check for active because already done so in propose()
1108
1108
requestee = await self .bot .current_guild .fetch_member (active_trade ["requestee_id" ])
1109
1109
requestee_badges = db_get_user_badge_names (active_trade ["requestee_id" ])
1110
- requestee_badge_names = [b ["badge_name " ].replace (".png" , "" ).replace ("_" , " " ) for b in requestee_badges ]
1110
+ requestee_badge_names = [b ["badge_filename " ].replace (".png" , "" ).replace ("_" , " " ) for b in requestee_badges ]
1111
1111
1112
1112
requestor = await self .bot .current_guild .fetch_member (active_trade ["requestor_id" ])
1113
1113
requestor_badges = db_get_user_badge_names (active_trade ["requestor_id" ])
1114
- requestor_badge_names = [b ["badge_name " ].replace (".png" , "" ).replace ("_" , " " ) for b in requestor_badges ]
1114
+ requestor_badge_names = [b ["badge_filename " ].replace (".png" , "" ).replace ("_" , " " ) for b in requestor_badges ]
1115
1115
1116
1116
logger .info (f"{ Fore .CYAN } { requestor .display_name } is looking to request `{ badge } ` from { requestee .display_name } ." )
1117
1117
@@ -1234,10 +1234,10 @@ def db_get_trade_requested_badges(active_trade):
1234
1234
db = getDB ()
1235
1235
query = db .cursor (dictionary = True )
1236
1236
sql = '''
1237
- SELECT b_i.badge_name
1237
+ SELECT b_i.badge_name, b_i.badge_filename
1238
1238
FROM badge_info as b_i
1239
1239
JOIN trade_requested AS t_r
1240
- ON t_r.trade_id = %s AND t_r.badge_id = b_i.id
1240
+ ON t_r.trade_id = %s AND t_r.badge_filename = b_i.badge_filename
1241
1241
'''
1242
1242
vals = (active_trade_id ,)
1243
1243
query .execute (sql , vals )
@@ -1253,10 +1253,10 @@ def db_get_trade_offered_badges(active_trade):
1253
1253
db = getDB ()
1254
1254
query = db .cursor (dictionary = True )
1255
1255
sql = '''
1256
- SELECT b_i.badge_name
1256
+ SELECT b_i.badge_name, b_i.badge_filename
1257
1257
FROM badge_info as b_i
1258
1258
JOIN trade_offered AS t_o
1259
- ON t_o.trade_id = %s AND t_o.badge_id = b_i.id
1259
+ ON t_o.trade_id = %s AND t_o.badge_filename = b_i.badge_filename
1260
1260
'''
1261
1261
vals = (active_trade_id ,)
1262
1262
query .execute (sql , vals )
@@ -1272,8 +1272,8 @@ def db_add_badge_to_trade_offer(active_trade, badge_name):
1272
1272
db = getDB ()
1273
1273
query = db .cursor (dictionary = True )
1274
1274
sql = '''
1275
- INSERT INTO trade_offered (trade_id, badge_id )
1276
- VALUES (%s, (SELECT id FROM badge_info WHERE badge_name = %s))
1275
+ INSERT INTO trade_offered (trade_id, badge_filename )
1276
+ VALUES (%s, (SELECT badge_filename FROM badge_info WHERE badge_name = %s))
1277
1277
'''
1278
1278
vals = (active_trade_id , badge_name )
1279
1279
query .execute (sql , vals )
@@ -1288,7 +1288,7 @@ def db_remove_badge_from_trade_offer(active_trade, badge_name):
1288
1288
query = db .cursor (dictionary = True )
1289
1289
sql = '''
1290
1290
DELETE FROM trade_offered
1291
- WHERE trade_id = %s AND badge_id = (SELECT id FROM badge_info WHERE badge_name = %s)
1291
+ WHERE trade_id = %s AND badge_filename = (SELECT badge_filename FROM badge_info WHERE badge_name = %s)
1292
1292
'''
1293
1293
vals = (active_trade_id , badge_name )
1294
1294
query .execute (sql , vals )
@@ -1302,8 +1302,8 @@ def db_add_badge_to_trade_request(active_trade, badge_name):
1302
1302
db = getDB ()
1303
1303
query = db .cursor (dictionary = True )
1304
1304
sql = '''
1305
- INSERT INTO trade_requested (trade_id, badge_id )
1306
- VALUES (%s, (SELECT id FROM badge_info WHERE badge_name = %s))
1305
+ INSERT INTO trade_requested (trade_id, badge_filename )
1306
+ VALUES (%s, (SELECT badge_filename FROM badge_info WHERE badge_name = %s))
1307
1307
'''
1308
1308
vals = (active_trade_id , badge_name )
1309
1309
query .execute (sql , vals )
@@ -1318,7 +1318,7 @@ def db_remove_badge_from_trade_request(active_trade, badge_name):
1318
1318
query = db .cursor (dictionary = True )
1319
1319
sql = '''
1320
1320
DELETE FROM trade_requested
1321
- WHERE trade_id = %s AND badge_id = (SELECT id FROM badge_info WHERE badge_name = %s)
1321
+ WHERE trade_id = %s AND badge_filename = (SELECT badge_filename FROM badge_info WHERE badge_name = %s)
1322
1322
'''
1323
1323
vals = (active_trade_id , badge_name )
1324
1324
query .execute (sql , vals )
@@ -1404,21 +1404,21 @@ def db_perform_badge_transfer(active_trade):
1404
1404
1405
1405
# Transfer Requested Badges to Requestor
1406
1406
sql = '''
1407
- INSERT INTO badges (user_discord_id, badge_name )
1407
+ INSERT INTO badges (user_discord_id, badge_filename )
1408
1408
SELECT t.requestor_id, b_i.badge_filename
1409
1409
FROM trades as t
1410
1410
JOIN badge_info as b_i
1411
1411
JOIN trade_requested as t_r
1412
- ON t.id = %s AND t_r.trade_id = t.id AND t_r.badge_id = b_i.id
1412
+ ON t.id = %s AND t_r.trade_id = t.id AND t_r.badge_filename = b_i.badge_filename
1413
1413
'''
1414
1414
vals = (trade_id ,)
1415
1415
query .execute (sql , vals )
1416
1416
1417
1417
# Delete Requested Badges from Requestee
1418
1418
sql = '''
1419
1419
DELETE b FROM badges b
1420
- JOIN badge_info b_i ON b.badge_name = b_i.badge_filename
1421
- JOIN trade_requested t_r ON t_r.badge_id = b_i.id
1420
+ JOIN badge_info b_i ON b.badge_filename = b_i.badge_filename
1421
+ JOIN trade_requested t_r ON t_r.badge_filename = b_i.badge_filename
1422
1422
JOIN trades t ON t_r.trade_id = t.id
1423
1423
WHERE (t.id = %s AND t.requestee_id = %s AND b.user_discord_id = %s)
1424
1424
'''
@@ -1427,21 +1427,21 @@ def db_perform_badge_transfer(active_trade):
1427
1427
1428
1428
# Transfer Offered Badges to Requestee
1429
1429
sql = '''
1430
- INSERT INTO badges (user_discord_id, badge_name )
1430
+ INSERT INTO badges (user_discord_id, badge_filename )
1431
1431
SELECT t.requestee_id, b_i.badge_filename
1432
1432
FROM trades as t
1433
1433
JOIN badge_info as b_i
1434
1434
JOIN trade_offered as t_o
1435
- ON t.id = %s AND t_o.trade_id = t.id AND t_o.badge_id = b_i.id
1435
+ ON t.id = %s AND t_o.trade_id = t.id AND t_o.badge_filename = b_i.badge_filename
1436
1436
'''
1437
1437
vals = (trade_id ,)
1438
1438
query .execute (sql , vals )
1439
1439
1440
1440
# Delete Offered Badges from Requestor
1441
1441
sql = '''
1442
1442
DELETE b FROM badges b
1443
- JOIN badge_info b_i ON b.badge_name = b_i.badge_filename
1444
- JOIN trade_offered t_o ON t_o.badge_id = b_i.id
1443
+ JOIN badge_info b_i ON b.badge_filename = b_i.badge_filename
1444
+ JOIN trade_offered t_o ON t_o.badge_filename = b_i.badge_filename
1445
1445
JOIN trades t ON t_o.trade_id = t.id
1446
1446
WHERE (t.id = %s AND t.requestor_id = %s AND b.user_discord_id = %s)
1447
1447
'''
@@ -1490,11 +1490,11 @@ def db_get_related_badge_trades(active_trade):
1490
1490
LEFT JOIN trade_requested `tr` ON t.id = tr.trade_id
1491
1491
1492
1492
INNER JOIN (
1493
- SELECT trade_id, requestor_id, requestee_id, badge_id
1493
+ SELECT trade_id, requestor_id, requestee_id, badge_filename
1494
1494
FROM trade_requested
1495
1495
INNER JOIN trades ON trade_requested.trade_id = trades.id AND trades.id = %s
1496
1496
UNION ALL
1497
- SELECT trade_id, requestor_id, requestee_id, badge_id
1497
+ SELECT trade_id, requestor_id, requestee_id, badge_filename
1498
1498
FROM trade_offered
1499
1499
INNER JOIN trades ON trade_offered.trade_id = trades.id AND trades.id = %s
1500
1500
) as activeTrade ON 1
@@ -1509,7 +1509,7 @@ def db_get_related_badge_trades(active_trade):
1509
1509
AND (t.requestor_id IN (activeTrade.requestor_id, activeTrade.requestee_id) OR t.requestee_id IN (activeTrade.requestor_id, activeTrade.requestee_id))
1510
1510
1511
1511
-- involves one or more of the badges involved in the active trade
1512
- AND (to.badge_id = activeTrade.badge_id OR tr.badge_id = activeTrade.badge_id )
1512
+ AND (to.badge_filename = activeTrade.badge_filename OR tr.badge_filename = activeTrade.badge_filename )
1513
1513
GROUP BY t.id
1514
1514
'''
1515
1515
vals = (active_trade_id , active_trade_id )
0 commit comments