Add Database.UserChannelSettings.find_all_by_setting
This commit is contained in:
parent
bce8cef524
commit
5eaf4a8790
2 changed files with 19 additions and 4 deletions
18
Database.py
18
Database.py
|
@ -207,13 +207,25 @@ class UserChannelSettings(Table):
|
||||||
def find_prefix(self, user_id, channel_id, prefix, default=[]):
|
def find_prefix(self, user_id, channel_id, prefix, default=[]):
|
||||||
return self.find_user_settings(user_id, channel_id, "%s%" % prefix,
|
return self.find_user_settings(user_id, channel_id, "%s%" % prefix,
|
||||||
default)
|
default)
|
||||||
def find_by_setting(self, server_id, user_id, setting, default=[]):
|
def find_by_setting(self, user_id, setting, default=[]):
|
||||||
values = self.database.execute_fetchall(
|
values = self.database.execute_fetchall(
|
||||||
"""SELECT channels.name, user_channel_settings.value FROM
|
"""SELECT channels.name, user_channel_settings.value FROM
|
||||||
user_channel_settings INNER JOIN channels ON
|
user_channel_settings INNER JOIN channels ON
|
||||||
user_channel_settings.channel_id=channels.channel_id
|
user_channel_settings.channel_id=channels.channel_id
|
||||||
WHERE channels.server_id=? AND
|
WHERE user_channel_settings.setting=?
|
||||||
user_channel_settings.user_id=?""", [server_id, user_id])
|
AND user_channel_settings.user_id=?""", [setting, user_id])
|
||||||
|
if values:
|
||||||
|
for i, value in enumerate(values):
|
||||||
|
values[i] = value[0], json.loads(value[1])
|
||||||
|
return values
|
||||||
|
return default
|
||||||
|
def find_all_by_setting(self, channel_id, setting, default=[]):
|
||||||
|
values = self.database.execute_fetchall(
|
||||||
|
"""SELECT users.name, user_channel_settings.value FROM
|
||||||
|
user_channel_settings INNER JOIN users ON
|
||||||
|
user_channel_settings.user_id=users.user_id
|
||||||
|
WHERE user_channel_setting.setting=?
|
||||||
|
AND user_channel_settings.channel_id=?""", [setting, channel_id])
|
||||||
if values:
|
if values:
|
||||||
for i, value in enumerate(values):
|
for i, value in enumerate(values):
|
||||||
values[i] = value[0], json.loads(value[1])
|
values[i] = value[0], json.loads(value[1])
|
||||||
|
|
|
@ -99,6 +99,9 @@ class Channel(object):
|
||||||
def del_user_setting(self, user_id, setting):
|
def del_user_setting(self, user_id, setting):
|
||||||
self.bot.database.user_channel_settings.delete(user_id, self.id,
|
self.bot.database.user_channel_settings.delete(user_id, self.id,
|
||||||
setting)
|
setting)
|
||||||
|
def find_all_by_setting(self, setting, default=[]):
|
||||||
|
return self.bot.database.user_channel_settings.find_all_by_setting(
|
||||||
|
self.id, setting, default)
|
||||||
|
|
||||||
def send_message(self, text, prefix=None):
|
def send_message(self, text, prefix=None):
|
||||||
self.server.send_message(self.name, text, prefix=prefix)
|
self.server.send_message(self.name, text, prefix=prefix)
|
||||||
|
|
Loading…
Reference in a new issue