slack-go / slack

Slack API in Go, originally by @nlopes; Maintainers needed, contact @parsley42
https://pkg.go.dev/github.com/slack-go/slack
BSD 2-Clause "Simplified" License
4.63k stars 1.12k forks source link

Fix ScheduleMessage not returning scheduled_message_id #1153

Open hussachai opened 1 year ago

hussachai commented 1 year ago

I'd like to introduce the fix for ScheduledMessage API. Currently, it doesn't return scheduled_message_id where this ID is needed for cancelling the scheduled message. My change is the least intrusive I could think of. It doesn't introduce any new field or adding new API. Basically, this change should be backward compatible. It is based on the fact that the API chat.postMessage doesn't return scheduled_message_id and the API chat.scheduledMessage doesn't return either message.ts or ts. We just need to check the presence of this field and determine the caller API based on that.

Existing code shouldn't break because the timestamp is always an empty string for ScheduledMessage API. Now it will return scheduled_message_id in place of timestamp. SendMessage should remain the same.

Pull Request Guidelines

These are recommendations for pull requests. They are strictly guidelines to help manage expectations.

PR preparation

Run make pr-prep from the root of the repository to run formatting, linting and tests.

Should this be an issue instead
API changes

Since API changes have to be maintained they undergo a more detailed review and are more likely to require changes.

Examples of API changes that do not meet guidelines:
TopherGopher commented 1 year ago

This would be amazing to have - there's no way around actually deleting this message.