0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【リリースノート】Slack GAS Simple Bot v0.1.0 - Slackオウム返しボットの初期リリース

Posted at

imagen-4-ultra_2025-11-13T16-22-36-320Z_A_Bioluminescent_Forest_Reverie_featuring_a_radian_1.png

はじめに

この度、Google Apps Script(GAS)で動作するシンプルなSlackボット「Slack GAS Simple Bot」の最初のバージョンv0.1.0をリリースしました。このプロジェクトは、GASを手軽に利用してSlackとの連携を実現することを目的としています。本記事では、v0.1.0の主な変更点や技術的な詳細について解説します。

主な変更点

  • オウム返しボットの基本機能: Slackに投稿されたメッセージをそのまま返信するコア機能を実装しました。
  • ランディングページ: プロジェクトの概要を紹介するためのシンプルなWebページを追加しました。
  • 信頼性の向上: メッセージ処理に関するバグ修正とリファクタリングを行い、安定性を高めました。
  • ドキュメントの充実: README.mdにスクリーンショットや詳細な説明を追加し、導入しやすくなるよう改善しました。

技術的な詳細

新機能

1. Slackオウム返し機能 (a8ed0e4)

GASのdoPost(e)関数をトリガーとして、Slackからのイベントを受け取ります。受け取ったメッセージはprocessMessage関数に渡され、投稿されたテキストをそのままJSONペイロードとしてSlack APIに送り返すことで、オウム返しを実現しています。

code.gs
function doPost(e) {
  const verificationToken = PropertiesService.getScriptProperties().getProperty('VERIFICATION_TOKEN');
  if (e.parameter.token !== verificationToken) {
    throw new Error('Invalid token');
  }

  const event = JSON.parse(e.postData.contents).event;
  if (event.type === 'message' && !event.subtype) {
    processMessage(event.text, event.channel);
  }
}

function processMessage(text, channel) {
  const slackApp = SlackApp.create(PropertiesService.getScriptProperties().getProperty('SLACK_ACCESS_TOKEN'));
  slackApp.postMessage(channel, text);
}

2. プロジェクト紹介用ランディングページ (2bc3245)

GASのdoGet(e)関数を利用して、プロジェクトを紹介する簡単なHTMLページを公開する機能を追加しました。これにより、ボットのURLにアクセスしたユーザーがプロジェクトの概要を把握できるようになります。

index.html
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <title>Slack GAS Simple Bot</title>
  </head>
  <body>
    <h1>Slack GAS Simple Bot</h1>
    <p>This is a simple Slack bot powered by Google Apps Script that echoes messages.</p>
  </body>
</html>

改善点

processMessage関数のリファクタリング (d7cf593)

初期実装からコードを整理し、processMessage関数を独立させることで、メッセージ処理ロジックの保守性と可読性を向上させました。

バグ修正

メッセージ処理の信頼性向上 (d7cf593)

processMessage関数内のバグを修正し、特定の条件下でメッセージが正しく処理されなかった問題を解決しました。これにより、ボットの応答信頼性が向上しています。

まとめ

v0.1.0では、Slack GAS Simple Botの基本的な骨格が完成しました。メッセージのオウム返しというシンプルな機能ですが、GASとSlack連携の第一歩として重要なリリースです。今後は、より複雑な対話機能や外部APIとの連携などを視野に入れて開発を進めていく予定です。


📚 参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?