You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.3 KiB
34 lines
1.3 KiB
# -*- coding: utf8 -*- |
|
# Общественное достояние, 2023, Алексей Безбородов (Alexei Bezborodov) <AlexeiBv+mirocod_platform_bot@narod.ru> |
|
|
|
# Группы пользователей |
|
|
|
from bot_sys import user_access, bot_bd |
|
|
|
table_name = 'user_groups' |
|
key_name = 'groupID' |
|
name_field = 'groupName' |
|
desc_field = 'groupDesc' |
|
photo_field = 'groupPhoto' |
|
access_field = 'groupAccess' |
|
create_datetime_field = 'groupCreateDateTime' |
|
|
|
table_user_in_groups_name = 'user_in_groups' |
|
user_id_field = 'user_ID' |
|
parent_id_field = 'groupID' |
|
|
|
def GetUserGroupData(a_Bot, a_UserID): |
|
def GetGroupNamesForUser(a_UserID): |
|
sql_req = f'SELECT {name_field} FROM {table_name} WHERE {key_name} IN (SELECT {parent_id_field} FROM {table_user_in_groups_name} WHERE {user_id_field} = ?)' |
|
#print('GetGroupNamesForUser', sql_req) |
|
return a_Bot.SQLRequest(sql_req, param = [a_UserID]) |
|
r = GetGroupNamesForUser(a_UserID) |
|
groups = [] |
|
for i in r: |
|
if len(i) > 0: |
|
groups += [i[0]] |
|
return user_access.UserGroups(a_UserID, groups) |
|
|
|
def CreateGroupRequest(a_GroupName): |
|
return f"INSERT OR IGNORE INTO {table_name} ({name_field}, {access_field}, {create_datetime_field}) VALUES ('{a_GroupName}', '{user_access.user_access_group_new}=-', {bot_bd.GetBDDateTimeNow()});" |
|
|
|
|