Because there's no way (that I know of) to schedule actions within my application, I'm going to use scheduled messages within the workspace to do so. Specifically, this is going to consist of:
[x] Modifying calls to chat.scheduleMessage to have:
[x] channel=BOT_MEMBER_ID, which will post messages from the bot to the bot, effectively creating hidden messages within the Slack workspace since only the bot user can read it's own messages
[x] Additional payload value:
channel=[actual destination of message]
[x] For each event type that would benefit from an intermediate handler, create one as a nested function within the event handler for message_metadata_posted
[x] Each intermediate handler is anticipated to take at least the following inputs:
Originally scheduled message text
Originally scheduled message metadata (after replacing event_type with next_event_type and pop-ing the channel)
Because there's no way (that I know of) to schedule actions within my application, I'm going to use scheduled messages within the workspace to do so. Specifically, this is going to consist of:
chat.scheduleMessage
to have:channel=BOT_MEMBER_ID
, which will post messages from the bot to the bot, effectively creating hidden messages within the Slack workspace since only the bot user can read it's own messageschannel=[actual destination of message]
message_metadata_posted
event_type
withnext_event_type
andpop
-ing thechannel
)client: WebClient
logger: logging.Logger