ヤマムギ

growing hard days.

*

slackのbotにWikipediaを調べてもらう(Python on AWS Lambda + API Gateway)

   

slack-apigateway-lambda-wikipedia

slackのbotに少しでも役に立ってもらおうと、Wikipediaを調べてもらう事にしました。

環境は手前味噌ですが「slackのbotをAWS Lambda(Python)+API Gatewayで構築」をご参照ください。

Wikipediaモジュールを使う

Wikipediaモジュールをインストールします。
AWS lambdaにアップロードするために実行ファイルと同じフォルダにインストールします。

投稿に「って何」が含まれているか、用意したトリガーがない場合はとりあえずWikipediaを調べてもらう事にしました。

  • wikipedia.set_lang(‘ja’)で日本版のwikipediaを検索しています。
  • wikipedia.search(search_text)で検索結果が配列で返ります。
  • wikipedia.page(search_response[0])で1番上の候補を結果としてページを取得ます。
    配列1番目にページが入っていない場合があるようで、pageでエラーになるのでその時は2番目を取得するようにしています。
  • wiki_page.contentで内容が、wiki_page.urlでURLが返ります。

slack-wikipedia

slackに返すtextに「:triumph:」とかを入れると絵文字も返してくれるのですね。
少しづつ愛着が湧いてきます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , ,

  関連記事

EC2 Image BuilderでRocket.ChatのAMIを作って起動テンプレートを更新しました

EC2 Image Builderの練習をしようと思い、Rocket.Chatの …

QuickSightのVisualizeをダッシュボード化して定期メール

「Backlogの実績工数をAmazon QuickSightで可視化してわかっ …

AWS Secrets Manager交代ユーザーローテーション

AWS Secrets Managerの交代ユーザーローテーションを確認してみま …

Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)

やりたいこと Feedlyで共有したいフィードに特定のタグを付けます。 特定のタ …

ハンズオン目的アカウントに設定しているSCPポリシー

AWS Organizationsでハンズオン目的のアカウントに設定しているSC …

JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE + 絶対圧センサーで遊ぼう!」ワークショップにいってきた

JAWS-UG関西IoT専門支部 ✕ SORACOM UG 関西「Wio LTE …

S3イベントのAWS Lambdaのテスト設定

S3イベントのLambda関数でよく使うのはこんなテスト設定です。 なので覚書で …

EC2 Auto Scalingグループでインスタンスの更新を実行

このブログのAMI、起動テンプレートを更新して、EC2 Auto Scaling …

EC2 Auto Recovery機能を設定しておいた

以前EC2インスタンスのリタイア対象になったこともあり、というより、やっておいて …

Amazon CloudSearchにAWS Lambda(Python)からデータをアップロードする

このブログはゆるっとアドベントカレンダー Advent Calendar 201 …