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

release-note

はじめに

この度、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に送り返すことで、オウム返しを実現しています。

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にアクセスしたユーザーがプロジェクトの概要を把握できるようになります。

<!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との連携などを視野に入れて開発を進めていく予定です。


📚 参考リンク

コメント

タイトルとURLをコピーしました