mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
2 lines
6.0 KiB
JavaScript
2 lines
6.0 KiB
JavaScript
import{_ as o,o as t,c as a,ag as n}from"./chunks/framework.CAXxHpAX.js";const u=JSON.parse('{"title":"Slack Channel Configuration","description":"","frontmatter":{},"headers":[],"relativePath":"channels/slack.md","filePath":"channels/slack.md","lastUpdated":1776579425000}'),s={name:"channels/slack.md"};function i(l,e,r,c,d,p){return t(),a("div",null,[...e[0]||(e[0]=[n('<h1 id="slack-channel-configuration" tabindex="-1">Slack Channel Configuration <a class="header-anchor" href="#slack-channel-configuration" aria-label="Permalink to "Slack Channel Configuration""></a></h1><p>Connecting your Memoh Bot to Slack allows it to receive direct messages, participate in channels and threads, read attachments, send files, and use streaming replies.</p><h2 id="step-1-create-a-slack-app" tabindex="-1">Step 1: Create a Slack App <a class="header-anchor" href="#step-1-create-a-slack-app" aria-label="Permalink to "Step 1: Create a Slack App""></a></h2><ol><li>Go to the Slack API dashboard and create a new app.</li><li>Choose the workspace where you want to install the bot.</li><li>Open <strong>Basic Information</strong> and keep this app page open for the next steps.</li></ol><h2 id="step-2-enable-socket-mode" tabindex="-1">Step 2: Enable Socket Mode <a class="header-anchor" href="#step-2-enable-socket-mode" aria-label="Permalink to "Step 2: Enable Socket Mode""></a></h2><p>Memoh's Slack adapter uses Socket Mode, so you need an app-level token in addition to the bot token.</p><ol><li>In <strong>Basic Information</strong>, enable <strong>Socket Mode</strong>.</li><li>Create an <strong>App-Level Token</strong> with the <code>connections:write</code> scope.</li><li>Copy the generated token. It starts with <code>xapp-</code>.</li></ol><h2 id="step-3-configure-bot-token-scopes" tabindex="-1">Step 3: Configure Bot Token Scopes <a class="header-anchor" href="#step-3-configure-bot-token-scopes" aria-label="Permalink to "Step 3: Configure Bot Token Scopes""></a></h2><p>In <strong>OAuth & Permissions</strong>, add the bot token scopes required by the current Slack adapter:</p><ul><li><code>app_mentions:read</code> - receive bot mentions in channels</li><li><code>channels:history</code> - read messages in public channels</li><li><code>groups:history</code> - read messages in private channels</li><li><code>im:history</code> - read direct messages</li><li><code>mpim:history</code> - read group direct messages</li><li><code>chat:write</code> - send replies and thread messages</li><li><code>files:read</code> - read uploaded files and images</li><li><code>files:write</code> - upload outbound files</li><li><code>reactions:write</code> - add and remove reactions</li></ul><p>You should also add these recommended scopes if you want Slack conversation names and metadata to show up more completely in Memoh:</p><ul><li><code>channels:read</code></li><li><code>groups:read</code></li><li><code>im:read</code></li><li><code>mpim:read</code></li></ul><h2 id="step-4-subscribe-to-bot-events" tabindex="-1">Step 4: Subscribe to Bot Events <a class="header-anchor" href="#step-4-subscribe-to-bot-events" aria-label="Permalink to "Step 4: Subscribe to Bot Events""></a></h2><p>In <strong>Event Subscriptions</strong>, enable bot events and add:</p><ul><li><code>app_mention</code></li><li><code>message.channels</code></li><li><code>message.groups</code></li><li><code>message.im</code></li><li><code>message.mpim</code></li></ul><p>These are the inbound event types currently handled by the Slack adapter.</p><h2 id="step-5-install-the-app-to-your-workspace" tabindex="-1">Step 5: Install the App to Your Workspace <a class="header-anchor" href="#step-5-install-the-app-to-your-workspace" aria-label="Permalink to "Step 5: Install the App to Your Workspace""></a></h2><ol><li>In <strong>OAuth & Permissions</strong>, click <strong>Install to Workspace</strong>.</li><li>Review the permission screen.</li><li>Authorize the app.</li><li>Copy the <strong>Bot User OAuth Token</strong>. It starts with <code>xoxb-</code>.</li></ol><p>Make sure the <code>xoxb-...</code> bot token and the <code>xapp-...</code> app-level token come from the same Slack app and workspace.</p><h2 id="step-6-configure-memoh" tabindex="-1">Step 6: Configure Memoh <a class="header-anchor" href="#step-6-configure-memoh" aria-label="Permalink to "Step 6: Configure Memoh""></a></h2><ol><li>Open your Bot detail page in the Memoh Web UI.</li><li>Go to the <strong>Platforms</strong> tab.</li><li>Click <strong>Add Channel</strong> and select <strong>Slack</strong>.</li><li>Fill in: <ul><li><strong>Bot Token</strong>: your <code>xoxb-...</code> token</li><li><strong>App-Level Token</strong>: your <code>xapp-...</code> token</li></ul></li><li>Click <strong>Save and Enable</strong>.</li></ol><h2 id="step-7-add-the-bot-to-conversations" tabindex="-1">Step 7: Add the Bot to Conversations <a class="header-anchor" href="#step-7-add-the-bot-to-conversations" aria-label="Permalink to "Step 7: Add the Bot to Conversations""></a></h2><p>After the channel is enabled, the Slack app still needs to be present in the conversations where you want it to work.</p><ul><li>For direct messages: open a DM with the app and send a message.</li><li>For public channels: invite the bot to the channel.</li><li>For private channels: invite the bot explicitly after installation.</li></ul><p>If the bot can send messages but cannot read uploaded images or files, check that <code>files:read</code> is enabled. If it connects but receives no incoming messages, check the bot events and the matching history scopes again.</p><h2 id="features-supported" tabindex="-1">Features Supported <a class="header-anchor" href="#features-supported" aria-label="Permalink to "Features Supported""></a></h2><ul><li><strong>Direct Messages and Channels</strong>: Support for DMs, public channels, private channels, and threads.</li><li><strong>Attachments</strong>: Read uploaded images and files from Slack, and send files back.</li></ul>',27)])])}const m=o(s,[["render",i]]);export{u as __pageData,m as default};
|