iCalendar形式のデータから予定を取得し、毎日Skypeへ通知するbot
機能
CloudWatchEventで以下の機能を持つLambdaFunctionを起動する- iCalから本日の予定を取得する
- 取得した情報を、SkypeへMicrosoftBotFrameworkのRESTAPIで投稿する
環境設定
取得元のiCal設定
URLを取得できていればOK。設定ファイルをコピーして、URLを更新する
cp src/ical_config_original.py src/ical_config.py
MicrosoftBotFrameworkでMyBotの登録を行う
SkypeBotFrameworkはMicrosoftBotFrameworkに統合されるので、以下から登録する https://dev.botframework.com/
- 「Register a bot」メニュー
- IconとNameがほかの人から見えるものになるのでBotのキャラにあったものにする
- MicrosoftAppIdとPasswordを生成する(これは後で使うので重要)
- Publisher profileは公開しない前提で適当に
- その他もエラーが出ないように適当に記入して登録
- MyBotの登録が完了したら、ChannelsのSkypeのEditで「Group messaging」をONにしておく
- ChannelsのSkypeの「Add to Skype」でBotとつながる
- 通知したいチャットルームにBotを招待する
- 通知したいチャットルームで「/get name」というコマンドをたたき、conversationIDを取得する
通知先のSkype設定
設定ファイルをコピーして、skypeの認証情報や投稿先のチャットルーム(conversationID)を更新する
cp src/skype_config_original.py src/skype_config.py
実行方法
pip install -r requirements.txt -t ./src
python src/calendar_push_bot.py