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.
state = puzzle.get('state', None)
description = (
state = puzzle.get('state', None)
description = (
- "Discussion to solve the puzzle \"{}\".\n".format(puzzle['name'])
+ "Puzzle: \"{}\".\n".format(puzzle['name'])
- description += "See the <{}|Original puzzle>\n".format(url)
+ links += " <{}|Original puzzle> ".format(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)
- description += "This puzzle has the following tags: {}\n".format(
+ description += "Tags: {}\n".format(
" ".join(["`{}`".format(t) for t in tags]))
if state:
" ".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)
old_channel_description = puzzle_channel_description(old_puzzle)
if channel_description != old_channel_description:
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)
turb.slack_client.conversations_setPurpose(channel=channel_id,
purpose=channel_description)