GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - pyconjp/pyconjpbot: Slack bot for PyCon JP Slack

BranchesTags
Open more actions menu

Latest commit

 

History

457 Commits
457 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
pyconjpbot
pyconjpbot
 
 
.gitignore
.gitignore
 
 
ChangeLog.txt
ChangeLog.txt
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
mypy.ini
mypy.ini
 
 
pyconjpbot-image.png
pyconjpbot-image.png
 
 
requirements-dev.txt
requirements-dev.txt
 
 
requirements.txt
requirements.txt
 
 
run.py
run.py
 
 
slackbot_settings.py.sample
slackbot_settings.py.sample
 
 
tox.ini
tox.ini
 
 

Repository files navigation

PyCon JP Bot

  • Chatbot for Slack of PyCon JP
  • based on https://github.com/lins05/slackbot

Commands

コマンドの一覧と簡単な説明

lgtm plugin

  • $lgtm create URL (テキスト): 指定したURLの画像をもとにLGTM画像を生成する。テキストを指定するとそのテキストを描画する

  • lgtm.py

pycamp plugin

  • $pycamp create (地域) (開催日) (コアスタッフJIRA) (現地スタッフJIRA) (講師のJIRA) : pycamp のイベント用issueを作成する

  • $pycamp summary: 開催予定のpycampイベントの概要を返す

  • $pycamp summary -party: 開催予定のpycamp懇親会の概要を返す

  • $pycamp count-staff: pycampにスタッフやTAに2回以上参加した人を調べる

  • $pycamp logo (地域): pycamp のイベント用ロゴを作成する

  • pycamp.py

github plugin

  • $github repos: pyconjp organization のリポジトリ一覧を返す

  • $github search keywords: 指定されたキーワードにマッチするissueを返す

  • $github code keywords: 指定されたキーワードにマッチするコードを返す

  • github.py

google plugin

  • $google keywords: 指定したキーワードでgoogle検索した結果を返す

  • $image keywords: 指定したキーワードでgoogle画像検索した結果からランダムに返す

  • google.py

gadmin plugin

ユーザー管理

  • $gadmin user list: ユーザーの一覧を返す
  • $gadmin user insert (ユーザー) (名前) (名字): ユーザーを追加する
  • $gadmin user delete (ユーザー): ユーザーを削除する(停止中のみ削除可)
  • $gadmin user reset (ユーザー): ユーザーのパスワードをリセットする
  • $gadmin user suspend (ユーザー): ユーザーを停止する(停止中にする)
  • $gadmin user resume (ユーザー): ユーザーを再開する(アクティブにする)

メールのエイリアス管理

  • $gadmin alias list (ユーザ): ユーザーのエイリアスの一覧を返す
  • $gadmin alias insert (ユーザ) (エイリアス): ユーザーにエイリアスを追加する
  • $gadmin alias delete (ユーザ) (エイリアス): ユーザーからエイリアスを削除する

グループ管理

  • $gadmin group list: グループの一覧を返す
  • $gadmin group insert (グループ) (グループ名): 指定したグループを追加する
  • $gadmin group delete (グループ): 指定したグループを削除する

グループのメンバー管理

  • $gadmin member list (グループ): 指定したグループのメンバー一覧を返す

  • $gadmin member insert (グループ) (メール1) [(メール2...)]: 指定したグループにメンバーを追加する

  • $gadmin member delete (グループ) (メール1) [(メール2...)]: 指定したグループからメンバーを削除する

  • gadmin.py

term plugin

  • $term (用語): 用語コマンドを作成する

  • $term create (用語): 用語コマンドを作成する

  • $term drop (用語): 用語コマンドを消去する

  • $term search (キーワード): キーワードを含む用語コマンドの一覧を返す

  • $term list: 用語コマンドの一覧を返す

  • $(用語): 用語コマンドに登録してある応答からランダムに一つ返す

  • $(用語) add (応答): 用語コマンドに応答を追加する

  • $(用語) del (応答): 用語コマンドから応答を削除する

  • $(用語) pop: 用語コマンドの最後に登録した応答を削除する

  • $(用語) list: 用語コマンドの応答一覧を返す

  • $(用語) search (キーワード): 用語コマンドのうちキーワードを含む応答一覧を返す

> $term create 酒
コマンド `$酒` を作成しました。
`$酒 add (レスポンス)` でレスポンスを追加できます
> $酒 add ビール
コマンド `$酒` に `ビール` を追加しました
> $酒 add ワイン
コマンド `$酒` に `ワイン` を追加しました
> $酒
ビール
  • term.py

plusplus plugin

  • 名前1 名前2++: 指定された名前に +1 カウントする(感謝を伝えるインクリメント)

  • 名前1 名前2--: 指定された名前に -1 カウントする

  • $plusplus search (キーワード): 名前にキーワードを含む一覧を返す

  • $plusplus delete (名前): カウントを削除する(カウント10未満のみ)

  • $plusplus rename (変更前) (変更後): カウントする名前を変更する

  • $plusplus merge (統合元) (統合先): 2つの名前のカウントを統合先の名前にまとめる

  • plusplus.py

Google drive plugin

  • $drive [options] keywords: 指定されたキーワードで Google ドライブを検索する
  • $drive db update: 検索用のフォルダ情報を更新する
  • $drive db refresh: 検索用のフォルダ情報を再構築する
  • $drive help: drive コマンドのヘルプを表示
$drive [-n] [-l LIMIT] [-a | -f FOLDER] [-t TYPE] keywords...`

オプション引数:

  -n, --name            ファイル名のみを検索対象にする(未指定時は全文検索)
  -l LIMIT, --limit LIMIT
                        結果の最大件数を指定する(default: 10)
  -f FOLDER, --folder FOLDER
                        検索対象のフォルダーを指定する(default: 2016)
  -t TYPE, --type TYPE  検索対象のファイル種別を指定する
  • googledrive.py

manual plugin

  • $manual: マニュアルのURLを返す
  • $manual keywords: キーワードでマニュアルを検索するURLを返す
  • $manual help: manual コマンドのヘルプを表示
  • manual.py

jira plugin

  • SAR-123: JIRAのissueの情報を返す
  • $jira search keywords $jira 検索 keywords: 指定されたキーワードで検索(オープンのみ)
  • $jira allsearch keywords $jira 全検索 keywords: 指定されたキーワードで検索(全ステータス)
  • $jira assignee user $jira 担当 user: 指定されたユーザーが担当しているissueを返す
  • $jira filter $jira フィルター: フィルターの一覧を返す
  • jira.py
$jira 検索 [-p PROJECT] [-c COMPONENT] [-l LABEL] [-s] [keywords ...]
$jira 全検索 [-p PROJECT] [-c COMPONENT] [-l LABEL] [-s] [keywords ...]

オプション引数:
  -p PROJECT, --project PROJECT
                        検索対象のプロジェクトを指定する(default: SAR)
  -c COMPONENT, --component COMPONENT
                        検索対象のコンポーネントを指定する
  -l LABEL, --label LABEL
                        検索対象のラベルを指定する
  -s, --summary         要約(タイトル)のみを検索対象にする(未指定時は全文検索)

wikipedia plugin

  • $wikipedia keywords: 指定されたキーワードの Wikipedia ページの情報を返す
  • $wikipedia -en keywords: 指定された言語(en等)の Wikipedia ページの情報を返す
  • $wikipedia help: wikipedia コマンドのヘルプを表示
  • wikipedia.py

calc plugin

  • 以下の様な数式の計算結果を返す
1 + 1
100 * 100
1 / 10
sqrt(2)
  • calc.py

reaction plugin

  • 任意のキーワードに対して emoji でのリアクションを返す
  • reaction.py

greeting plugin

  • あいさつを返す
takanory: おはよう
BOT: @takanory おはようございます
  • greeting.py

translator plugin

  • $translate python, $翻訳 python: 指定した文字列を日本語に翻訳

  • $translate へび, $翻訳 蛇: 指定した文字列を英語に翻訳

  • $translate -ru へび $翻訳 -ru へび: 指定した言語(ru等)に翻訳

  • $translate list $翻訳 リスト: 使用できる言語の一覧を返す

  • translator.py

  • Powered by Microsoft Translator API

suddendeath plugin

  • $suddendeath: 突然の死のメッセージを返す
  • $suddendeath words: words を使って突然の死のメッセージを返す
  • suddendeath.py

misc plugin

  • $help: ヘルプへのリンクを返す
  • $shuffle spam ham eggs: 指定された単語をシャッフルした結果を返す
  • $choice spam ham eggs: 指定された単語から一つをランダムに選んで返す
  • $ping: 応答(pong)を返す
  • $version: バージョン情報を返す
  • $random: チャンネルにいるメンバーからランダムに一人を選ぶ
  • $random active: チャンネルにいるactiveなメンバーからランダムに一人を選ぶ
  • $cal: 今月のカレンダーを返す
  • $cal 9: 今年の指定された月のカレンダーを返す
  • $cal 9 2016: 指定された年月のカレンダーを返す
  • misc.py

How to build

$ git clone [email protected]:pyconjp/pyconjpbot.git
$ cd pyconjpbot
$ python3.9 -m venv env
$ . env/bin/activate
(env) $ pip install -r requirements.txt
(env) $ cp slackbot_settings.py.sample slackbot_settings.py
(env) $ vi slackbot_settings.py
(env) $ python run.py

開発環境の構築とコードのチェック

  • 開発環境を構築する際は requirements-dev.txt を使用します。
$ git clone [email protected]:pyconjp/pyconjpbot.git
$ cd pyconjpbot
$ python3.9 -m venv env
$ . env/bin/activate
(env) $ pip install -r requirements-dev.txt
  • toxでisort, black, flake8とmypyのチェックが実行できます
$ tox
___________________________________ summary ____________________________________
  py38: commands succeeded
  lintcheck: commands succeeded
  congratulations :)

About

Slack bot for PyCon JP Slack

Topics

slackbot

Resources

Readme
MIT license
Activity
Custom properties

Stars

28 stars

Watchers

6 watching

Forks

5 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.