ヤマムギ

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:」とかを入れると絵文字も返してくれるのですね。
少しづつ愛着が湧いてきます。


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。

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

 - AWS , , ,

ad

ad

  関連記事

AWS OrganizationsでAWSアカウントを25作りたいのでPythonで作った

AWSアカウントを25作る必要があったので、Lambda Python 3.7で …

Organizations対応のAWS CloudTrailのAthenaテーブルでPartition Projectionを使用しました

パーティション向けのAlterテーブルの定期実行が面倒だと思っていたら、Part …

Amazon Quantum Ledger Database(QLDB)でサンプル台帳の作成と検証

Quantum Ledger Database(QLDB)を触ったことなかったの …

AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確認する

ユーザーガイドのサービスコントロールポリシーの例にはDeny(拒否)ばっかりでA …

AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました

新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。 長 …

AWS Cost Explorerの設定で「EC2リソースの推奨事項を受け取る」を有効にしました

「EC2リソースの推奨事項を受け取る」という機能がAWS Cost Explor …

AWS Transfer Family S3向けのSFTP対応サーバー

S3バケットは作成済です。 IAMロールの作成 [crayon-63853d3f …

AWS Lambda(Python)でDynamoDB テーブルを日次で削除/作成(オートスケーリング付き)

この記事はAWS #2 Advent Calendar 2018に参加した記事で …

S3バケットポリシーでクロスアカウントのPrincipalについて確認

確認したこと ドキュメントではこちらで確認しました。 AWS JSON ポリシー …

既存のAWSアカウントをAWS Control Towerに追加

Account Factoryからは既存アカウントは追加できない? AWS Co …