
Powershell-фреймворк для ботов
| Azure Pipelines | GitHub Actions | Документация | PS Gallery | Лицензия |
|---|
PoshBot — это проект с открытым исходным кодом под лицензией MIT. Постоянное развитие стало возможным благодаря поддержке спонсоров. Если вы хотите стать спонсором, вы можете сделать это через GitHub Sponsors или Patreon.
Хотите углубленные руководства? Ознакомьтесь с ChatOps the Easy Way на Leanpub!
PoshBot — это чат-бот, написанный на PowerShell. Он широко использует классы, введённые в PowerShell 5.0. Модули PowerShell загружаются в PoshBot и мгновенно становятся доступными как команды бота. В настоящее время PoshBot поддерживает подключение к Slack, чтобы обеспечить вам потрясающие возможности ChatOps.
Практически всё, что вы захотите :) Без шуток. PoshBot выполняет функции или командлеты из модулей PowerShell. Используйте PoshBot для подключения к серверам и отчёта о состоянии, развёртывания кода, выполнения runbook, запросов к API и т.д. Если вы можете написать это на PowerShell, PoshBot сможет это выполнить.
Подробную документацию можно найти на ReadTheDocs.
Смотрите Сборка PoshBot для документации по сборке PoshBot из исходного кода.
Подробные изменения для каждого релиза задокументированы в примечаниях к выпуску.
Чтобы начать сейчас, получите SLACK-API-TOKEN для вашего бота:
# Install the module from PSGallery
Install-Module -Name PoshBot -Repository PSGallery
# Import the module
Import-Module -Name PoshBot
# Create a bot configuration
$botParams = @{
Name = 'name'
BotAdmins = @('<SLACK-CHAT-HANDLE>')
CommandPrefix = '!'
LogLevel = 'Info'
BackendConfiguration = @{
Name = 'SlackBackend'
Token = '<SLACK-API-TOKEN>'
}
AlternateCommandPrefixes = 'bender', 'hal'
}
$myBotConfig = New-PoshBotConfiguration @botParams
# Start a new instance of PoshBot interactively or in a job.
Start-PoshBot -Configuration $myBotConfig #-AsJob
Основное использование:
# Create a Slack backend
$backendConfig = @{Name = 'SlackBackend'; Token = '<SLACK-API-TOKEN>'}
$backend = New-PoshBotSlackBackend -Configuration $backendConfig
# Create a PoshBot configuration
$pbc = New-PoshBotConfiguration -BotAdmins @('<MY-SLACK-HANDLE>') -BackendConfiguration $backendConfig
# Save configuration
Save-PoshBotConfiguration -InputObject $pbc -Path .\PoshBotConfig.psd1
# Load configuration
$pbc = Get-PoshBotConfiguration -Path .\PoshBotConfig.psd1
# Create an instance of the bot
$bot = New-PoshBotInstance -Configuration $pbc -Backend $backend
# Start the bot
$bot.Start()
# Available commands
Get-Command -Module PoshBot
CommandType Name Version Source
----------- ---- ------- ------
Function Get-PoshBot 0.12.0 poshbot
Function Get-PoshBotConfiguration 0.12.0 poshbot
Function Get-PoshBotStatefulData 0.12.0 poshbot
Function New-PoshBotCardResponse 0.12.0 poshbot
Function New-PoshBotConfiguration 0.12.0 poshbot
Function New-PoshBotDiscordBackend 0.12.0 poshbot
Function New-PoshBotFileUpload 0.12.0 poshbot
Function New-PoshBotInstance 0.12.0 poshbot
Function New-PoshBotMiddlewareHook 0.12.0 poshbot
Function New-PoshBotScheduledTask 0.12.0 poshbot
Function New-PoshBotSlackBackend 0.12.0 poshbot
Function New-PoshBotTeamsBackend 0.12.0 poshbot
Function New-PoshBotTextResponse 0.12.0 poshbot
Function Remove-PoshBotStatefulData 0.12.0 poshbot
Function Save-PoshBotConfiguration 0.12.0 poshbot
Function Set-PoshBotStatefulData 0.12.0 poshbot
Function Start-PoshBot 0.12.0 poshbot
Function Stop-Poshbot 0.12.0 poshbot