Это возможно при разработке ботов для Slack. Код будет выглядеть примерно так:
Код: Выделить всё
from slack_sdk import WebClient
from slack_sdk.socket_mode import SocketModeClient
socket_mode_client = SocketModeClient(
# This app-level token will be used only for establishing a connection
app_token=self.connection_args['app_token'], # xapp-A111-222-xyz
# You will be using this WebClient for performing Web API calls in listeners
web_client=WebClient(token=''), # xoxb-111-222-xyz
)
socket_mode_client.socket_mode_request_listeners.append(_process_websocket_message)
socket_mode_client.connect()
Как я могу сделать что-то подобное при развертывании бота для MS Teams? Допустим, я хочу развернуть этого простого бота из приведенного выше репозитория:
Код: Выделить всё
from botbuilder.core import ActivityHandler, MessageFactory, TurnContext
from botbuilder.schema import ChannelAccount
class EchoBot(ActivityHandler):
async def on_members_added_activity(
self, members_added: [ChannelAccount], turn_context: TurnContext
):
for member in members_added:
if member.id != turn_context.activity.recipient.id:
await turn_context.send_activity("Hello and welcome!")
async def on_message_activity(self, turn_context: TurnContext):
return await turn_context.send_activity(
MessageFactory.text(f"Echo: {turn_context.activity.text}")
)
Я открыт и для других подходов.
Подробнее здесь: https://stackoverflow.com/questions/790 ... mework-sdk