Releases: poshbotio/PoshBot
v0.13.0
[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
[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.
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
[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 toSystem.Collections.Hashtable
. This will preserve the ordering of keys if the supplied object supports it.
v0.11.6
[0.11.7] 2019-08-09
Fixed
- Added missing parameter
$PreExecuteMiddlewareHooks
toNew-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
to1.3.1
andPSSlack
to1.0.1
v0.11.3
[0.11.3] 2018-11-06
Changes
- Reference
$global:PoshBotContext
instead ofPoshBotContext
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 withNew-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
[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 namesSlack
,SlackBackend
,Teams
, andTeamsBackend
. -
ChannelRules in the bot configuration were not being serialized correctly if more than one hashtable entry was present.
-
Match documentation and check for
SlackBackend
orTeamsBackend
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 theSystem.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
[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
[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 toNew-PoshBotCardResponse
.
This enables custom backends and plugins to send additional data in a card response (via @scrthq). -
#99 Add
CardClicked
event type toMessageType
enum.
This enables custom backends that supportCardClicked
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
, andRemove-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
[0.10.0] 2017-12-13
Added
-
#71 Added
-Examples
and-Full
switches to builtin commandGet-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'sGet-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 than4
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
[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.