|
|
@@ -136,8 +136,8 @@ def get_channel_setting_game_commands(self, channel_id):
|
|
|
def get_autojoin_channels(self):
|
|
|
return self.db.all('SELECT name FROM rotbot_channel WHERE network_id=%(network_id)s AND autojoin=True', network_id=self.network.id)
|
|
|
|
|
|
-def update_channel_last_event(self, channel, event_type, event_content):
|
|
|
- self.db.run('UPDATE rotbot_channel SET last_event_type=%(last_event_type)s, last_event_content=%(last_event_content)s WHERE channel.id=%(channel_id)s', last_event_type=event_type, last_event_content=event_content)
|
|
|
+#def update_channel_last_event(self, channel_id, event_type, event_content):
|
|
|
+# self.db.run('UPDATE rotbot_channel SET last_event_type=%(last_event_type)s, last_event_content=%(last_event_content)s WHERE channel.id=%(channel_id)s', last_event_type=event_type, last_event_content=event_content, channel_id=channel_id)
|
|
|
|
|
|
def create_tempchannelkey(self, channel_id):
|
|
|
temp_key = secrets.token_urlsafe(40)[:40]
|
|
|
@@ -158,38 +158,40 @@ def get_userl_slug(self, user_name):
|
|
|
def get_user_name(self, user_id):
|
|
|
return self.db.one('SELECT name FROM rotbot_user WHERE id=%(id)s', id=user_id)
|
|
|
|
|
|
-def get_user_total_joins(self, user):
|
|
|
- recordset = self.db.all('SELECT amount FROM rotbot_join WHERE user_id=%(user_id)s AND network_id=%(network_id)s', user_id=user.id, network_id=self.network.id)
|
|
|
+def get_user_total_joins(self, user_id):
|
|
|
+ recordset = self.db.all('SELECT amount FROM rotbot_join WHERE user_id=%(user_id)s AND network_id=%(network_id)s', user_id=user_id, network_id=self.network.id)
|
|
|
return total_amount_in_recordset(recordset)
|
|
|
|
|
|
-def get_user_total_kicks(self, user):
|
|
|
- recordset = self.db.all('SELECT amount FROM rotbot_kick WHERE kicker_id=%(user_id)s AND network_id=%(network_id)s', user_id=user.id, network_id=self.network.id)
|
|
|
+def get_user_total_kicks(self, user_id):
|
|
|
+ recordset = self.db.all('SELECT amount FROM rotbot_kick WHERE kicker_id=%(user_id)s AND network_id=%(network_id)s', user_id=user_id, network_id=self.network.id)
|
|
|
return total_amount_in_recordset(recordset)
|
|
|
|
|
|
-def get_user_total_kicked(self, user):
|
|
|
- recordset = self.db.all('SELECT amount FROM rotbot_kick WHERE kicked_id=%(user_id)s AND network_id=%(network_id)s', user_id=user.id, network_id=self.network.id)
|
|
|
+def get_user_total_kicked(self, user_id):
|
|
|
+ recordset = self.db.all('SELECT amount FROM rotbot_kick WHERE kicked_id=%(user_id)s AND network_id=%(network_id)s', user_id=user_id, network_id=self.network.id)
|
|
|
return total_amount_in_recordset(recordset)
|
|
|
|
|
|
-def get_user_total_messages(self, user):
|
|
|
- recordset = self.db.all('SELECT amount FROM rotbot_message WHERE user_id=%(user_id)s AND network_id=%(network_id)s', user_id=user.id, network_id=self.network.id)
|
|
|
+def get_user_total_messages(self, user_id):
|
|
|
+ recordset = self.db.all('SELECT amount FROM rotbot_message WHERE user_id=%(user_id)s AND network_id=%(network_id)s', user_id=user_id, network_id=self.network.id)
|
|
|
return total_amount_in_recordset(recordset)
|
|
|
|
|
|
-def get_user_total_actions(self, user):
|
|
|
- recordset = self.db.all('SELECT amount FROM rotbot_action WHERE user_id=%(user_id)s AND network_id=%(network_id)s', user_id=user.id, network_id=self.network.id)
|
|
|
+def get_user_total_actions(self, user_id):
|
|
|
+ recordset = self.db.all('SELECT amount FROM rotbot_action WHERE user_id=%(user_id)s AND network_id=%(network_id)s', user_id=user_id, network_id=self.network.id)
|
|
|
return total_amount_in_recordset(recordset)
|
|
|
|
|
|
-def get_user_total_notices(self, user):
|
|
|
- recordset = self.db.all('SELECT amount FROM rotbot_notice WHERE user_id=%(user_id)s AND network_id=%(network_id)s', user_id=user.id, network_id=self.network.id)
|
|
|
+def get_user_total_notices(self, user_id):
|
|
|
+ recordset = self.db.all('SELECT amount FROM rotbot_notice WHERE user_id=%(user_id)s AND network_id=%(network_id)s', user_id=user_id, network_id=self.network.id)
|
|
|
return total_amount_in_recordset(recordset)
|
|
|
|
|
|
-def get_user_total_curseword_added(self, user):
|
|
|
- recordset = self.db.all('SELECT id FROM rotbot_curseword WHERE irc_user_id=%(user_id)s ', user_id=user.id)
|
|
|
+def get_user_total_curseword_added(self, user_id):
|
|
|
+ recordset = self.db.all('SELECT id FROM rotbot_curseword WHERE irc_user_id=%(user_id)s ', user_id=user_id)
|
|
|
return recordset.count(recordset)
|
|
|
|
|
|
-def get_user_total_curseadjective_added(self, user):
|
|
|
- recordset = self.db.all('SELECT id FROM rotbot_curseadjective WHERE irc_user_id=%(user_id)s', user_id=user.id)
|
|
|
+def get_user_total_curseadjective_added(self, user_id):
|
|
|
+ recordset = self.db.all('SELECT id FROM rotbot_curseadjective WHERE irc_user_id=%(user_id)s', user_id=user_id)
|
|
|
return recordset.count(recordset)
|
|
|
|
|
|
+
|
|
|
+# Chat
|
|
|
def random_curse(self):
|
|
|
adjective = self.db.one('SELECT word FROM rotbot_curseadjective ORDER BY RANDOM() LIMIT 1')
|
|
|
curse = self.db.one('SELECT word FROM rotbot_curseword ORDER BY RANDOM() LIMIT 1')
|
|
|
@@ -204,11 +206,11 @@ def add_curseword(self, word, user_id):
|
|
|
|
|
|
|
|
|
# Statistics
|
|
|
-def update_message_statistics(self, type, channel, user):
|
|
|
- if not self.db.one('SELECT id FROM rotbot_' + type + ' WHERE network_id=%(network_id)s AND channel_id=%(channel_id)s AND user_id=%(user_id)s', network_id=self.network.id, channel_id=channel.id ,user_id=user.id): # Not on record.
|
|
|
- self.db.run('INSERT INTO rotbot_' + type + ' (network_id, channel_id, user_id, amount) VALUES (%(network_id)s, %(channel_id)s, %(user_id)s, 1)', network_id=self.network.id, channel_id=channel.id ,user_id=user.id) # Create record.
|
|
|
+def update_message_statistics(self, type, channel_id, user_id):
|
|
|
+ if not self.db.one('SELECT id FROM rotbot_' + type + ' WHERE network_id=%(network_id)s AND channel_id=%(channel_id)s AND user_id=%(user_id)s', network_id=self.network.id, channel_id=channel_id ,user_id=user_id): # Not on record.
|
|
|
+ self.db.run('INSERT INTO rotbot_' + type + ' (network_id, channel_id, user_id, amount) VALUES (%(network_id)s, %(channel_id)s, %(user_id)s, 1)', network_id=self.network.id, channel_id=channel_id ,user_id=user_id) # Create record.
|
|
|
else: # On record.
|
|
|
- self.db.run('UPDATE rotbot_' + type + ' SET amount = amount +1 WHERE network_id=%(network_id)s AND channel_id=%(channel_id)s AND user_id=%(user_id)s', network_id=self.network.id, channel_id=channel.id ,user_id=user.id) # Increment record.
|
|
|
+ self.db.run('UPDATE rotbot_' + type + ' SET amount = amount +1 WHERE network_id=%(network_id)s AND channel_id=%(channel_id)s AND user_id=%(user_id)s', network_id=self.network.id, channel_id=channel_id ,user_id=user_id) # Increment record.
|
|
|
|
|
|
def increment_join(self, channel_id, user_id):
|
|
|
if not self.db.one('SELECT id FROM rotbot_join WHERE network_id=%(network_id)s AND channel_id=%(channel_id)s AND user_id=%(user_id)s', network_id=self.network.id, channel_id=channel_id, user_id=user_id): # No record yet
|
|
|
@@ -216,8 +218,8 @@ def increment_join(self, channel_id, user_id):
|
|
|
else:
|
|
|
self.db.run('UPDATE rotbot_join SET amount = amount + 1 WHERE network_id=%(network_id)s AND channel_id=%(channel_id)s AND user_id=%(user_id)s', network_id=self.network.id, channel_id=channel_id, user_id=user_id) # Update existing record.
|
|
|
|
|
|
-def increment_kick(self, channel, user):
|
|
|
- if not self.db.one('SELECT id FROM rotbot_kick WHERE channel_id=%(channel_id)s AND kicker_id=%(kicker_id)s AND kicked_id=%(kicked_id)s', network_id=self.network.id, channel_id=channel.id, kicker_id=kicker.id, kicked_id=kicked.id): # No records for kicker channel combination.
|
|
|
+def increment_kick(self, channel_id, user_id):
|
|
|
+ if not self.db.one('SELECT id FROM rotbot_kick WHERE channel_id=%(channel_id)s AND kicker_id=%(kicker_id)s AND kicked_id=%(kicked_id)s', network_id=self.network.id, channel_id=channel_id, kicker_id=kicker.id, kicked_id=kicked.id): # No records for kicker channel combination.
|
|
|
self.db.run('INSERT INTO rotbot_kick (channel_id, kicker_id, kicked_id, amount) VALUES (%(channel_id)s, %(kicker_id)s, %(kicked_id)s), 1', channel_id=channel.id, kicker_id=kicker.id, kicked_id=kicked.id) # Create record.
|
|
|
else:
|
|
|
self.db.run('UPDATE rotbot_kick SET amount = amount + 1 WHERE channel_id=%(channel_id)s AND kicker_id=%(kicker_id)s AND kicked_id=%(kicked_id)s', channel_id=channel.id, kicker_id=kicker.id, kicked_id=kicked.id) # Update record.
|
|
|
@@ -227,24 +229,24 @@ def increment_kick(self, channel, user):
|
|
|
def get_top_users(self, sort):
|
|
|
return self.db.all('SELECT id, name, level, xp_spent, coin FROM rotbot_user WHERE network_id=%(network_id)s ORDER BY ' + sort + ' DESC LIMIT 3 ', network_id=self.network.id)
|
|
|
|
|
|
-def get_user_gamestats(self, user):
|
|
|
- return self.db.one('SELECT xp_spent, level, coin, coin_given, coin_spent, ap_spent, karma_correction FROM rotbot_user WHERE id=%(id)s', id=user.id)
|
|
|
+def get_user_gamestats(self, user_id):
|
|
|
+ return self.db.one('SELECT xp_spent, level, coin, coin_given, coin_spent, ap_spent, karma_correction FROM rotbot_user WHERE id=%(id)s', id=user_id)
|
|
|
|
|
|
-def levelup_user(self, user, xp):
|
|
|
- self.db.run('UPDATE rotbot_user SET level=level+1, xp_spent=xp_spent+%(xp)s, ap_spent=ap_spent+1 WHERE id=%(user_id)s', xp=xp, user_id=user.id)
|
|
|
+def levelup_user(self, user_id, xp):
|
|
|
+ self.db.run('UPDATE rotbot_user SET level=level+1, xp_spent=xp_spent+%(xp)s, ap_spent=ap_spent+1 WHERE id=%(user_id)s', xp=xp, user_id=user_id)
|
|
|
coin = random.uniform(0.1, 0.5)
|
|
|
payday(self, coin)
|
|
|
|
|
|
-def punish_user(self, user, coin, karma):
|
|
|
- self.db.run('UPDATE website_users SET coin=coin-%(coin)s, karma_correction=karma_correction-%(karma)s WHERE id=%(user_id)s', coin=coin, karma=karma, user_id=user.id)
|
|
|
+def punish_user(self, user_id, coin, karma):
|
|
|
+ self.db.run('UPDATE website_users SET coin=coin-%(coin)s, karma_correction=karma_correction-%(karma)s WHERE id=%(user_id)s', coin=coin, karma=karma, user_id=user_id)
|
|
|
|
|
|
def payday(self, coin):
|
|
|
self.db.run('UPDATE rotbot_user SET coin=coin+%(coin)s WHERE level>0', user_id=user.id)
|
|
|
|
|
|
-def cointransfer(self, sender, receiver, coin):
|
|
|
- self.db.run('UPDATE rotbot_user SET coin=coin-%(coin)s, coin_spent=coin_spent+%(coin)s, coin_given=coin_given+%(coin)s, ap_spent=ap_spent+1 WHERE id=%(sender_id)s', coin=coin, sender_id=sender.id)
|
|
|
- self.db.run("UPDATE rotbot_user SET coin=coin+%(coin)s WHERE id=%(user_id)s", coin=coin, id=receiver.id)
|
|
|
- coin = random.uniform(0.1, 0.5)
|
|
|
+def cointransfer(self, sender_id, receiver_id, coin):
|
|
|
+ self.db.run('UPDATE rotbot_user SET coin=coin-%(coin)s, coin_spent=coin_spent+%(coin)s, coin_given=coin_given+%(coin)s, ap_spent=ap_spent+1 WHERE id=%(sender_id)s', coin=coin, sender_id=sender_id)
|
|
|
+ self.db.run("UPDATE rotbot_user SET coin=coin+%(coin)s WHERE id=%(user_id)s", coin=coin, id=receiver_id)
|
|
|
+ coin = random.uniform(0.1, 0.3)
|
|
|
payday(self, coin)
|
|
|
|
|
|
# Common.
|