Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make UserID optional in GetUserProfile() #894

Merged

Conversation

itkq
Copy link
Contributor

@itkq itkq commented Feb 10, 2021

users.profile.get API takes user parameter as optional.
https://api.slack.com/methods/users.profile.get

This change breaks GetUserProfile interface.
The current interface does not allow the bot to retrieve
its own user profile.

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
  • is it a convenience method? (no new functionality, streamlines some use case)
  • exposes a previously private type, const, method, etc.
  • is it application specific (caching, retry logic, rate limiting, etc)
  • is it performance related.
API changes

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

  • no tests, if you're adding to the API include at least a single test of the happy case.
  • If you can accomplish your goal without changing the API, then do so.
  • dependency changes. updates are okay. adding/removing need justification.
Examples of API changes that do not meet guidelines:
  • in library cache for users. caches are use case specific.
  • Convenience methods for Sending Messages, update, post, ephemeral, etc. consider opening an issue instead.

`users.profile.get` API takes user parameter as optional.
https://api.slack.com/methods/users.profile.get

This change breaks GetUserProfile interface.
The current interface does not allow the bot to retrieve
its own user profile.
@itkq
Copy link
Contributor Author

itkq commented Feb 11, 2021

I found bots.info method which the bot can also retrieve its own user profile, but the current interface requires bot string as well...

Copy link
Member

@kanata2 kanata2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!
As you mentioned, This changes break backward-compatibility.
So I plan to release this in the next minor version.

@kanata2
Copy link
Member

kanata2 commented Feb 15, 2021

but the current interface requires bot string as well...

Slack API doc says the bot parameter optional, but when we tried this, it returned only ok...🤔

$ curl -H'Authorization: Bearer <bot_token>' https://slack.com/api/bots.info
{"ok":true}

@kanata2 kanata2 added this to the v0.9.0 milestone Feb 15, 2021
@itkq
Copy link
Contributor Author

itkq commented Feb 15, 2021

Oh.. I got the same response, which means this method is not suitable for the use case above (I actually mentioned bots.info method without trying it out 🙄 ).

@kanata2 kanata2 merged commit 9cdce44 into slack-go:master Apr 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants