From: Carl Worth Date: Sat, 8 Jan 2022 09:20:02 +0000 (-0800) Subject: Don't set a channel description longer than 250 character. X-Git-Url: https://git.cworth.org/git?p=turbot;a=commitdiff_plain;h=5f24de7e9cdb24f5bf751e3ce1d6d7333241747f Don't set a channel description longer than 250 character. Oops. The Slack channel description _is_ just as limited as the channel topic, (only 250 characters). So we have to trim it just like we trim the channel topic. At least the description has the title first, so different information will appear in the topic and description and hopefully everything necessary at least appears in one place or the other. --- diff --git a/turbot/puzzle.py b/turbot/puzzle.py index b9aa1ec..d24a7c9 100644 --- a/turbot/puzzle.py +++ b/turbot/puzzle.py @@ -281,30 +281,25 @@ def puzzle_channel_description(puzzle): state = puzzle.get('state', None) description = ( - "Discussion to solve the puzzle \"{}\".\n".format(puzzle['name']) + "Puzzle: \"{}\".\n".format(puzzle['name']) ) + links = '' if url: - description += "See the <{}|Original puzzle>\n".format(url) + links += " <{}|Original puzzle> ".format(url) if sheet_url: - description += ( - "Actual solving work takes place in the " - + "<{}|shared spreadsheet>\n".format(sheet_url) - ) + links += " <{}|Sheet>".format(sheet_url) + + if links: + description += "Links:{}\n".format(links) if tags: - description += "This puzzle has the following tags: {}\n".format( + description += "Tags: {}\n".format( " ".join(["`{}`".format(t) for t in tags])) if state: - description += "This puzzle has a state of: {}\n".format(state) - - description += ( - "You can see a summary of this information at any point " - + "by issuing the `/puzzle` command and you can edit any of " - + "this information by issuing the `/edit` command" - ) + description += "State: {}\n".format(state) return description @@ -369,6 +364,9 @@ def puzzle_update_channel_and_sheet(turb, puzzle, old_puzzle=None): old_channel_description = puzzle_channel_description(old_puzzle) if channel_description != old_channel_description: + # Slack also only allows 250 characters for a description + if len(channel_description) > 250: + channel_description = channel_description[:247] + "..." turb.slack_client.conversations_setPurpose(channel=channel_id, purpose=channel_description)