mirror of
https://github.com/GAM-team/GAM.git
synced 2025-07-03 11:13:42 +00:00
Implement the Chat Custom Emojis API #1787
This commit is contained in:
@ -5,6 +5,9 @@ Added commands to manage/display Chat Custom Emojis.
|
|||||||
* See: https://github.com/GAM-team/GAM/wiki/Users-Chat#manage-chat-emojis
|
* See: https://github.com/GAM-team/GAM/wiki/Users-Chat#manage-chat-emojis
|
||||||
* See: https://github.com/GAM-team/GAM/wiki/Users-Chat#display-chat-emojis
|
* See: https://github.com/GAM-team/GAM/wiki/Users-Chat#display-chat-emojis
|
||||||
|
|
||||||
|
Updated `gam <UserItem> print|show chatspaces|chatmembers asadmin` to display
|
||||||
|
the spaces in ascending display name order.
|
||||||
|
|
||||||
7.09.07
|
7.09.07
|
||||||
|
|
||||||
Added `webviewlink` to `<FileTreeFieldName>` for use in `gam <UserTypeEntity> print|show filetree`.
|
Added `webviewlink` to `<FileTreeFieldName>` for use in `gam <UserTypeEntity> print|show filetree`.
|
||||||
|
@ -25991,7 +25991,7 @@ def _printChatItem(user, citem, parent, entityType, csvPF, FJQC, addCSVData=None
|
|||||||
_cleanChatSpace(citem)
|
_cleanChatSpace(citem)
|
||||||
baserow = {'User': user} if user is not None else {}
|
baserow = {'User': user} if user is not None else {}
|
||||||
elif entityType == Ent.CHAT_EMOJI:
|
elif entityType == Ent.CHAT_EMOJI:
|
||||||
baserow = {'User': user}
|
baserow = {'User': user, 'name': citem['name'], 'emojiName': citem['emojiName']}
|
||||||
else:
|
else:
|
||||||
if user is not None:
|
if user is not None:
|
||||||
baserow = {'User': user, 'space.name': parent['name'], 'space.displayName': parent['displayName']}
|
baserow = {'User': user, 'space.name': parent['name'], 'space.displayName': parent['displayName']}
|
||||||
@ -26150,7 +26150,7 @@ CHAT_EMOJI_SHOW_CREATED_BY_CHOICE_MAP = {
|
|||||||
# [showcreatedby any|me|others]
|
# [showcreatedby any|me|others]
|
||||||
# [formatjson [quotechar <Character>]]
|
# [formatjson [quotechar <Character>]]
|
||||||
def printShowChatEmojis(users):
|
def printShowChatEmojis(users):
|
||||||
csvPF = CSVPrintFile(['User', 'name']) if Act.csvFormat() else None
|
csvPF = CSVPrintFile(['User', 'name', 'emojiName']) if Act.csvFormat() else None
|
||||||
FJQC = FormatJSONQuoteChar(csvPF)
|
FJQC = FormatJSONQuoteChar(csvPF)
|
||||||
pfilter = CHAT_EMOJI_SHOW_CREATED_BY_CHOICE_MAP['me']
|
pfilter = CHAT_EMOJI_SHOW_CREATED_BY_CHOICE_MAP['me']
|
||||||
while Cmd.ArgumentsRemaining():
|
while Cmd.ArgumentsRemaining():
|
||||||
@ -26185,12 +26185,12 @@ def printShowChatEmojis(users):
|
|||||||
entityPerformActionNumItems(kvList, jcount, Ent.CHAT_EMOJI, i, count)
|
entityPerformActionNumItems(kvList, jcount, Ent.CHAT_EMOJI, i, count)
|
||||||
Ind.Increment()
|
Ind.Increment()
|
||||||
j = 0
|
j = 0
|
||||||
for emoji in emojis:
|
for emoji in sorted(emojis, key=lambda k: k['emojiName']):
|
||||||
j += 1
|
j += 1
|
||||||
_showChatItem(emoji, Ent.CHAT_EMOJI, FJQC, j, jcount)
|
_showChatItem(emoji, Ent.CHAT_EMOJI, FJQC, j, jcount)
|
||||||
Ind.Decrement()
|
Ind.Decrement()
|
||||||
else:
|
else:
|
||||||
for emoji in emojis:
|
for emoji in sorted(emojis, key=lambda k: k['emojiName']):
|
||||||
_printChatItem(user, emoji, '', Ent.CHAT_EMOJI, csvPF, FJQC)
|
_printChatItem(user, emoji, '', Ent.CHAT_EMOJI, csvPF, FJQC)
|
||||||
if csvPF:
|
if csvPF:
|
||||||
csvPF.writeCSVfile('Chat Custom Emojis')
|
csvPF.writeCSVfile('Chat Custom Emojis')
|
||||||
@ -26677,6 +26677,7 @@ def printShowChatSpaces(users):
|
|||||||
except GAPI.failedPrecondition:
|
except GAPI.failedPrecondition:
|
||||||
userChatServiceNotEnabledWarning(user, i, count)
|
userChatServiceNotEnabledWarning(user, i, count)
|
||||||
continue
|
continue
|
||||||
|
sortName = 'displayName' if useAdminAccess else 'name'
|
||||||
jcount = len(spaces)
|
jcount = len(spaces)
|
||||||
if jcount == 0:
|
if jcount == 0:
|
||||||
setSysExitRC(NO_ENTITIES_FOUND_RC)
|
setSysExitRC(NO_ENTITIES_FOUND_RC)
|
||||||
@ -26685,12 +26686,12 @@ def printShowChatSpaces(users):
|
|||||||
entityPerformActionNumItems(kvList, jcount, Ent.CHAT_SPACE, i, count)
|
entityPerformActionNumItems(kvList, jcount, Ent.CHAT_SPACE, i, count)
|
||||||
Ind.Increment()
|
Ind.Increment()
|
||||||
j = 0
|
j = 0
|
||||||
for space in spaces:
|
for space in sorted(spaces, key=lambda k: k[sortName]):
|
||||||
j += 1
|
j += 1
|
||||||
_showChatItem(space, Ent.CHAT_SPACE, FJQC, j, jcount)
|
_showChatItem(space, Ent.CHAT_SPACE, FJQC, j, jcount)
|
||||||
Ind.Decrement()
|
Ind.Decrement()
|
||||||
else:
|
else:
|
||||||
for space in spaces:
|
for space in sorted(spaces, key=lambda k: k[sortName]):
|
||||||
_printChatItem(user, space, None, Ent.CHAT_SPACE, csvPF, FJQC)
|
_printChatItem(user, space, None, Ent.CHAT_SPACE, csvPF, FJQC)
|
||||||
if csvPF:
|
if csvPF:
|
||||||
csvPF.writeCSVfile('Chat Spaces')
|
csvPF.writeCSVfile('Chat Spaces')
|
||||||
@ -27347,7 +27348,8 @@ def printShowChatMembers(users):
|
|||||||
retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
|
retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
|
||||||
fields="nextPageToken,spaces(name,displayName,spaceType,membershipCount)", pageSize=CHAT_PAGE_SIZE,
|
fields="nextPageToken,spaces(name,displayName,spaceType,membershipCount)", pageSize=CHAT_PAGE_SIZE,
|
||||||
**kwargsCS)
|
**kwargsCS)
|
||||||
for space in spaces:
|
sortName = 'displayName' if useAdminAccess else 'name'
|
||||||
|
for space in sorted(spaces, key=lambda k: k[sortName]):
|
||||||
if space['spaceType'] == 'SPACE' and 'membershipCount' in space:
|
if space['spaceType'] == 'SPACE' and 'membershipCount' in space:
|
||||||
parentList.append({'name': space['name'], 'displayName': space.get('displayName', 'None')})
|
parentList.append({'name': space['name'], 'displayName': space.get('displayName', 'None')})
|
||||||
except (GAPI.notFound, GAPI.invalidArgument, GAPI.internalError,
|
except (GAPI.notFound, GAPI.invalidArgument, GAPI.internalError,
|
||||||
@ -27364,7 +27366,8 @@ def printShowChatMembers(users):
|
|||||||
retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
|
retryReasons=GAPI.SERVICE_NOT_AVAILABLE_RETRY_REASONS,
|
||||||
fields="nextPageToken,spaces(name,displayName,spaceType,membershipCount)", pageSize=CHAT_PAGE_SIZE,
|
fields="nextPageToken,spaces(name,displayName,spaceType,membershipCount)", pageSize=CHAT_PAGE_SIZE,
|
||||||
**kwargsCS)
|
**kwargsCS)
|
||||||
for space in spaces:
|
sortName = 'displayName' if useAdminAccess else 'name'
|
||||||
|
for space in sorted(spaces, key=lambda k: k[sortName]):
|
||||||
# if 'membershipCount' in space:
|
# if 'membershipCount' in space:
|
||||||
# parentList.append({'name': space['name'], 'displayName': space.get('displayName', 'None')})
|
# parentList.append({'name': space['name'], 'displayName': space.get('displayName', 'None')})
|
||||||
parentList.append({'name': space['name'], 'displayName': space.get('displayName', 'None')})
|
parentList.append({'name': space['name'], 'displayName': space.get('displayName', 'None')})
|
||||||
|
Reference in New Issue
Block a user