Skip to content

Releases: poshbotio/PoshBot

v0.13.0

03 May 22:44
fefa680
Compare
Choose a tag to compare

[0.13.0] 2020-05-02

Fixed

  • Fixed #206 where scheduled commands were not being send when using the Microsoft Teams backend.
  • Fixed #202 Scheduled commands that are disabled no longer execute.
  • Handle goodbye event from Slack RTM API and properly disconnect/reconnect websocket connection.
  • Fixed #203 Fixed websocket disconnect at 100 seconds when running in Windows PowerShell
  • Fixed problems with non-latin character encoding in Microsoft Teams channel responses (via @joakimkarlbom)

Changed

  • General speed improvements. Logging to disk has been moved into a separate thread.
  • Bump PSSlack dependency to 1.0.2

v0.12.0

06 Mar 06:08
c7cb085
Compare
Choose a tag to compare

[0.12.0] 2020-03-05

Added

  • PoshBot now has native support for using Discord as a backend! Special thanks to @michaeltlombardi for kicking off the initial work and to @scrthq for helping to fix some bugs and creating the documentation.

  • #181 Add additional objects to !slap (via @scrthq)

Fixed

  • #192 Fix stopwatch that executes the backend Ping() method to run every 5 seconds rather than once on startup (via @jamesbr-ashn)

  • #204 Change method of applying TLS12 protocol (via @adrian-andersson)

  • Ensure TLS12 is set in the Slack and Discord websocket receive jobs

v0.11.8

31 Aug 07:05
f9e9f7f
Compare
Choose a tag to compare

[0.11.8] 2019-08-30

Fixed

  • Commands will no longer be re-executed if a user replies to the original command with a threaded message
  • The formatting of large message responses to Slack has been fixed
  • New-PoshBotCardResponse now accepts any object of type System.Collections.IDictionary instead of always casting to System.Collections.Hashtable. This will preserve the ordering of keys if the supplied object supports it.

v0.11.6

09 Aug 18:10
11db51b
Compare
Choose a tag to compare

[0.11.7] 2019-08-09

Fixed

  • Added missing parameter $PreExecuteMiddlewareHooks to New-PoshBotConfiguration
  • Channels rules should now work correctly with private channels in Slack
  • Retrieving channels from Slack now uses paging to return ALL unarchived channels

Changed

  • Pinned modules Configuration to 1.3.1 and PSSlack to 1.0.1

v0.11.3

07 Nov 05:42
Compare
Choose a tag to compare

[0.11.3] 2018-11-06

Changes

  • Reference $global:PoshBotContext instead of PoshBotContext so it's clear what variable we're using.

Fixed

  • #129 To avoid serialization issues when executing a command in the PS job, use the module-qualified command name instead of the function/cmdlet object returned from Get-Command. (via @Tadas)

  • #132 By default, the ChannelRules property of the [BotConfiguration] object has a single rule that allows all commands in all channels.
    This is so that when creating a new configuration object with New-PoshBotConfiguration and specifying no addition parameters, we have a working configuration.
    When creating a new bot configuration object AND passing it one or more channels rules, we should zero out the array as it is implied by passing in channel rules that the rules should be exactly what was passed in and not IN ADDITION to the default one. (via @DWOF)

v0.11.2

12 Oct 04:40
Compare
Choose a tag to compare

[0.11.2] 2018-10-11

Added

  • Specifying the contents of a file to upload, as well as its file name and type are now supported in New-PoshBotFileUpload.
    This is in addition to the already supported feature of specifying a file path.

Changes

  • #122 Enable running multiple versions of PoshBot side-by-side. When PoshBot needs to load itself (via running PoshBot as a job, a scheduled task, or a plugin command), it now loads the exact version of PoshBot that is currently running instead of loading the latest version that happens to be in $env:PSModulePath. This enables multiple versions of PoshBot to be running and be self-contained. (via @Tadas)

Fixed

  • When starting PoshBot using Start-PoshBot -AsJob, determine the correct backend instance to create by validating the passed in configuration against the names Slack, SlackBackend, Teams, and TeamsBackend.

  • ChannelRules in the bot configuration were not being serialized correctly if more than one hashtable entry was present.

  • Match documentation and check for SlackBackend or TeamsBackend backend names when starting PoshBot as a PowerShell job.

  • #111 Use CommandParser to strip out extra line breaks from a message received from Teams (via @AndrewPla)

  • Resolve ambiguous method signature error in Slack backend by using an [ArraySegment[byte[]] buffer in the System.Net.WebSockets.ClientWebSocket.ReceiveAsync() method.

  • #125 Escape prefix character when evaluating messages.
    Any single character can be defined as the prefix character (default is "!") that indicates to PoshBot that the incoming message is a bot command. Some of these characters are also regex special characters and we need to escape them properly so when people indicate they want to use the '.' or '^' characters for example, they are treated a literal. (via @Windos)

  • Fix bot crash when removing a scheduled command that was configured to only trigger once.

  • #121 Prevent multiple executions of commands scheduled in the past. This fixes an issue where if the StartAfter value of a scheduled command was in the past, on bot startup the scheduled command would be executed however many intervals difference there was between the StartAfter value and the current time. (via @AngleOSaxon)

  • HTML decode the message text received from the backend. This ensures characters like '&' are converted back from their encoded version '&' that may have been received.

v0.11.1

02 Oct 04:49
f60bf5c
Compare
Choose a tag to compare

[0.11.1] 2018-10-01

Fixed

  • Remove obsolete DLLs associated with the Teams backend and Azure Service Bus. These DLLs are not needed and attempting to load them was causing issues in Windows PowerShell.

  • #118 Force module import to pick up changes.
    When importing a plugin, Use "Import-Module -Force" to make PowerShell re-import the module even if it is already loaded and the version has not changed. This fixes an issue during plugin development where functions are added or modified without bumping the version number. (via @Tadas)

v0.11.0

10 Sep 18:44
5eb7819
Compare
Choose a tag to compare

[0.11.0] 2018-09-09

Added

  • Initial support for Microsoft Teams backend. To connect to Teams, additional Azure resources are required which the Teams backend will connect to. Command and regex triggers are supported. Event triggers currently are not. In group conversations, you must '@' mention the bot followed by your text message otherwise the bot will not receive it. In one-on-one conversations with the bot, '@' mentioning is not needed. More information can be found here.

  • Support for custom middleware to be executed during the command processing life cycle has been added.
    It is now possible to execute custom scripts pre/post receiving a message from the chat network, pre/post command execution, and pre/post command response.
    These execution hooks can be used for centralized authentication logic, custom command whitelisting and blacklisting, response sanitation, or any number of other uses.

  • #89 Add CustomData parameter to New-PoshBotCardResponse.
    This enables custom backends and plugins to send additional data in a card response (via @scrthq).

  • #99 Add CardClicked event type to MessageType enum.
    This enables custom backends that support CardClicked events in interactive cards to use this event type with event-trigger based commands (via @scrthq).

  • Enable multiple groups or roles to be created or removed at once via the New-Group, New-Role, Remove-Group, and Remove-Role builtin commands.

  • Added new builtin command Get-MyCommands which returns all loaded commands the calling user is authorized to execute.

  • #105 Add BackendType property to $global:PoshBotContext with a value of the type of backend that is configured in PoshBot.
    This value can be used by plugin commands to change their behavior based on the type of backend (e.g., Slack, Teams, or GChat) (via @ChrisLGardner).

Fixed

  • Start-PoshBot with -AsJob switch now works correctly.

  • When removing a plugin, the PowerShell module is now also unloaded.

  • #90 Fixed scheduling logic to fire commands at interval based on start time (via @JasonNoonan)

  • Fix Get-CommandHelp to display correct help when one item is returned.

v0.10.0

14 Dec 07:34
Compare
Choose a tag to compare

[0.10.0] 2017-12-13

Added

  • #71 Added -Examples and -Full switches to builtin command Get-CommandHelp. These switches provide more information about a command and -Examples is particularly useful when learning how to use a command. These provide a similar experience to PowerShell's Get-Help cmdlet. (via @RamblingCookieMonster)

  • #72 Added FormatEnumerationLimitOverride property with a default value of -1 to the bot configuration. This controls the enumeration limit of arrays and addresses an issue where not all items in an array would be displayed if the array had more than 4 items (the default limit). Instead an ellipsis ... would be shown. (via @RamblingCookieMonster)

Fixed

  • An exception was raised when running Save-PoshBotConfiguration.

  • Logic bug where the SendCommandResponseToPrivate configuration property was not being honored.

  • #73 Command resolution when running builtin command Get-CommandHelp was returning unexpected results. (via @RamblingCookieMonster)

v0.9.0

07 Dec 05:44
Compare
Choose a tag to compare

[0.9.0] 2017-12-06

Added

  • PoshBot can now be constrained to certain channels via a whitelist in the bot configuration. Commands initiated from other channels will be ignored.
  • Direct messages (DMs) to the bot can be disallowed via configuration.

Fixed

  • Configuration settings for commands requiring approval were not being saved to disk correctly.