files_upload to use new Slack API and migrate off of [deprecated files.upload method](files.upload method)slackr_history where the function fails to infer posted_from_time if not providedmessage_count = 100 to slackr_historyUser-facing changes:
ggslackr now relies on dots (...) to pass arguments through to ggsaveggplot2 is now in suggests, so the user doesn't need it installed to use slackr. ggslackr will prompt to install if it's not already.slackr_history causing an almost infinite loopslackr_save where initial_comment would do nothingslackr_history to be more helpful in pointing the user to the Slack API docsBackend changes:
duration had no effect in slackr_history() if posted_from_time was not specified also. linked issuethread_ts or reply_broadcast in slackr did nothingslackr and slackr_bot no longer rely on reprex, as prex_r would fail when an eval environment needed to be specified, but couldn't.slackr_ims bug fix.usethis::use_pipe() to import {magrittr}'s pipe.ggslackr to post multiple file typesslackr and slackr_bot that led to garbled outputFixes to a couple of bugs
purrr, since it's GPL.Lots of breaking changes in this release:
bot_user_oauth_token has been removed entirely in favor of tokenslackr_history now has message_count as it's first argumentthread_ts parameter to all slackr_* functions (i.e. allowing you to reply to a message in a thread)reply_broadcast capability in slackr and slackr_msgtitle and initial_comment parameters for all functions relying on the files.upload endpoint (basically everything except for slackr, slackr_bot, slackr_msg, slackr_history, and slackr_delete)slackr and slackr_bot now use reprex::prex() in the background, which means that they no longer throw errors the same way as they did before. slackr will try to be helpful in telling you what went wrong if your prex output contains an error (instead of posting), but it isn't guaranteed to work all of the time. You can prevent this behavior by setting the SLACKR_ERRORS environment variable to "IGNORE".Other changes:
ggslackrbot_user_oauth_token argument for slackr* functions in favor of tokenwithr::local_options(list(cli.num_colors = 1)) inside of slackr to fix garbled tibble printing. linked issuechannel, username and icon_emoji parameters for slackr_bot() which were deprecated in version 2.1.1 and have no effectcacheChannels parameter for slackr_setup() which was deprecated in version 2.1.0slackr_csv(), which simplifies the process of writing data frames to Slack as csv filesslackr_teardown(), which reverts the changes made by slackr_setup() by unsetting the environment variablescreate_config_file() to simplify the process of setting up a config filesave_slackr() is now deprecated in favor of slackr_save() and tex_slackr() has been deprecated in favor of slackr_tex()slackr_chtrans() in the vast majority of functions, significantly speeding up slackr_***() by limiting API requestsmemoise bug that was causing slackr_chtrans() to fail with memoise < 2.0.0slackr_census() that would cause slackr_census() to fail if the user was specifying a cache dir on the diskpkgdown siteSys.getenv('SLACK_CHANNEL') instead of ''slackr_upload() when the request returns not authed as per #137slackr_bot() that no longer work (username, channel, icon emoji) that used to work with the old API structureslackr_history() and slackr_delete() are now implementedusername and icon_emoji parameters to slackr_*** functions now work againstop() in slackr_upload() if file to upload was not found (via #46)NEWS.md file to track changes to the package.slackr_msg() function which behaves slightly differently than text_slackr()