Skip to content
This repository has been archived by the owner on Aug 17, 2023. It is now read-only.

slackbotのバージョンを上げる #56

Closed
wanshot opened this issue Aug 14, 2017 · 7 comments
Closed

slackbotのバージョンを上げる #56

wanshot opened this issue Aug 14, 2017 · 7 comments
Assignees

Comments

@wanshot
Copy link
Contributor

wanshot commented Aug 14, 2017

目的

  • slackbotのバージョンが古く依存しているライブラリの更新を行いたいのでslackbotのバージョンアップを行う

関連機能、影響範囲

  • 一連のコマンドの動作確認は必要そう

やること

セキュリティ

  • 特になし
@wanshot wanshot self-assigned this Mar 4, 2019
@wanshot
Copy link
Contributor Author

wanshot commented Sep 7, 2020

優先度を上げる
Ref: #197

@wanshot wanshot assigned fumi232323 and unassigned wanshot Sep 7, 2020
@fumi232323
Copy link
Contributor

fumi232323 commented Sep 7, 2020

slackbot の最新バージョンは 1.0.0

(env) fumi23@FumienoMacBook-Pro-3 beproudbot % pip list --outdated      
Package          Version     Latest    Type
---------------- ----------- --------- -----
alembic          0.9.6       1.4.2     sdist
cachetools       2.0.1       4.1.1     wheel
certifi          2017.7.27.1 2020.6.20 wheel
geopy            1.11.0      2.0.0     wheel
idna             2.6         2.10      wheel
Mako             1.0.7       1.1.3     wheel
MarkupSafe       1.0         1.1.1     wheel
Pillow           5.2.0       7.2.0     wheel
PyMySQL          0.7.11      0.10.0    wheel
python-dateutil  2.6.1       2.8.1     wheel
python-editor    1.0.3       1.0.4     wheel
python-redmine   2.0.2       2.3.0     wheel
requests         2.18.4      2.24.0    wheel
setuptools       41.2.0      50.3.0    wheel
six              1.11.0      1.15.0    wheel
slackbot         0.5.1       1.0.0     wheel  # <= これ
slacker          0.9.60      0.14.0    sdist
SQLAlchemy       1.2.2       1.3.19    wheel
urllib3          1.22        1.25.10   wheel
websocket-client 0.44.0      0.57.0    wheel

@fumi232323
Copy link
Contributor

ローカル環境で upgrade してみました

(env) fumi23@FumienoMacBook-Pro-3 beproudbot % pip install -U slackbot    
Collecting slackbot
  Downloading slackbot-1.0.0-py2.py3-none-any.whl (12 kB)
Requirement already satisfied, skipping upgrade: requests>=2.4.0 in ./env/lib/python3.7/site-packages (from slackbot) (2.18.4)
Requirement already satisfied, skipping upgrade: six>=1.10.0 in ./env/lib/python3.7/site-packages (from slackbot) (1.11.0)
Requirement already satisfied, skipping upgrade: websocket-client<=0.44.0,>=0.22.0 in ./env/lib/python3.7/site-packages (from slackbot) (0.44.0)
Requirement already satisfied, skipping upgrade: slacker>=0.9.50 in ./env/lib/python3.7/site-packages (from slackbot) (0.9.60)
Requirement already satisfied, skipping upgrade: idna<2.7,>=2.5 in ./env/lib/python3.7/site-packages (from requests>=2.4.0->slackbot) (2.6)
Requirement already satisfied, skipping upgrade: urllib3<1.23,>=1.21.1 in ./env/lib/python3.7/site-packages (from requests>=2.4.0->slackbot) (1.22)
Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in ./env/lib/python3.7/site-packages (from requests>=2.4.0->slackbot) (3.0.4)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in ./env/lib/python3.7/site-packages (from requests>=2.4.0->slackbot) (2017.7.27.1)
Installing collected packages: slackbot
  Attempting uninstall: slackbot
    Found existing installation: slackbot 0.5.1
    Uninstalling slackbot-0.5.1:
      Successfully uninstalled slackbot-0.5.1
Successfully installed slackbot-1.0.0
(env) fumi23@FumienoMacBook-Pro-3 beproudbot % pip list
Package           Version
----------------- -----------
aiohttp           3.6.2
alembic           0.9.6
async-timeout     3.0.1
attrs             20.2.0
cachetools        2.0.1
certifi           2017.7.27.1
chardet           3.0.4
click             7.1.2
geopy             1.11.0
idna              2.6
kml2geojson       4.0.2
Mako              1.0.7
MarkupSafe        1.0
multidict         4.7.6
Pillow            5.2.0
pip               20.2.2
prettytable       0.7.2
PyMySQL           0.7.11
python-dateutil   2.6.1
python-editor     1.0.3
python-redmine    2.0.2
requests          2.18.4
setuptools        41.2.0
six               1.11.0
slackbot          1.0.0
slackclient       2.8.2
slacker           0.9.60
SQLAlchemy        1.2.2
typing-extensions 3.7.4.3
urllib3           1.22
websocket-client  _0.44.0_
yarl              1.5.1

@fumi232323
Copy link
Contributor

テスト結果NG

コマンド

  • [NG] $random: チャンネルにいるメンバーからランダムに一人を選ぶ
  • [NG] $random active: チャンネルにいるactiveなメンバーからランダムに一人を選ぶ

事象

  • Slack 上でコマンドを実行しても、何も表示されない
  • ブラウザでこのurl にアクセスしてみると method_deprecated が返ってくる
{"ok":false,"error":"method_deprecated","response_metadata":{"messages":["[ERROR] This method is retired and can no longer be used. Please use conversations.info instead. Learn more: https:\/\/api.slack.com\/changelog\/2020-01-deprecating-antecedents-to-the-conversations-api."]}}

原因

ログ

DEBUG:urllib3.connectionpool:https://slack.com:443 "GET /api/channels.info?channel=C01AWCXC9EU&token=xoxb-2299965497-1359223689649-9xOMhfwkdoNtzq2FDTcJV5x6 HTTP/1.1" 200 222

環境

@fumi232323
Copy link
Contributor

備忘

  • 併せて typo 修正しておこう
### water コマンド

- `$water count`: 現在の残数を返す
- `$water num`: 水を取り替えた時に使用。指定した数だけ残数を減らす(numが負数の場合、増やす)
- `$water hitsory <num>`: 指定した件数分の履歴を返す(default=10)  # <= typo: history が正

@fumi232323
Copy link
Contributor

Command テスト結果 (全部)

  • NG: 2件
  • OK: その他全部

misc コマンド

  • [OK] $shuffle spam ham eggs: 指定された単語をシャッフルした結果を返す
  • [OK] $choice spam ham eggs: 指定された単語から一つをランダムに選んで返す

random コマンド

  • [NG] $random: チャンネルにいるメンバーからランダムに一人を選ぶ
  • [NG] $random active: チャンネルにいるactiveなメンバーからランダムに一人を選ぶ
  • [OK] $random help: randomコマンドの使い方を返す

redbull コマンド

  • [OK] $redbull count: RedBullの残り本数を表示する
  • [OK] $redbull num: numの数だけRedBullの本数を減らす(負数の場合、増やす)
  • [OK] $redbull history: 自分のRedBullの消費履歴を表示する
  • [OK] $redbull clear: RedBullのDBデータを削除するtoken付きのコマンドを表示する
  • [OK] $redbull csv: RedBullの月単位の消費履歴をCSV形式で表示する
  • [OK] $redbull help: redbullコマンドの使い方を返す

water コマンド

  • [OK] $water count: 現在の残数を返す
  • [OK] $water num: 水を取り替えた時に使用。指定した数だけ残数を減らす(numが負数の場合、増やす)
  • [OK] $water hitsory <num>: 指定した件数分の履歴を返す(default=10)
  • [OK] $water help: このコマンドの使い方を返す

kintai コマンド

  • [OK] $kintai start: 出社時刻を記録します
  • [OK] $kintai end: 退社時刻を記録します
  • [OK] $kintai show: 自分の勤怠一覧を直近40日分表示する
  • [OK] $kintai csv /`: monthに指定した月の勤怠記録をCSV形式で返す(defaultは当年月)
  • [OK] $kintai help`: 勤怠コマンドの使い方を返す

alias コマンド

  • [OK] $alias show [user_name]: Slackのユーザーに紐づいているエイリアス名一覧を表示する
  • [OK] $alias add [user_name] <alias_name>: Slackのユーザーに紐づくエイリアス名を登録する
  • [OK] $alias del [user_name] <alias_name>: Slackのユーザーに紐づくエイリアス名を削除する
  • [OK] $alias help: aliasコマンドの使い方を返す
  • ※各コマンドにてuser_name引数を省略した際には投稿者に対しての操作になります

cleaning コマンド

  • [OK] $cleaning task: 掃除作業の一覧を表示する
  • [OK] $cleaning list: 掃除当番の一覧を表示する
  • [OK] $cleaning today: 今日の掃除当番を表示する
  • [OK] $cleaning add <user_name> <day_of_week>: 掃除当番を追加する
  • [OK] $cleaning del <user_name> <day_of_week>: 掃除当番から削除する
  • [OK] $cleaning move <user_name> <day_of_week>: 掃除当番の曜日を移動する
  • [OK] $cleaning swap <user_name> <user_name>: 掃除当番を入れ替える
  • [OK] $cleaning help: cleaningコマンドの使い方を返す
  • ※<day_of_week> は月、火、水、木、金が指定可能です

create コマンド

  • [OK] $create add <command>: コマンドを追加する
  • [OK] $create del <command>: コマンドを削除する
  • [OK] $<command>: コマンドに登録した語録の中からランダムに一つ返す
  • [OK] $<command> <語録>: 語録を登録する
  • [OK] $<command> del <語録>: 語録を削除する
  • [OK] $<command> pop: 最後に自分が登録した語録を削除する
  • [OK] $<command> list: 登録された語録の一覧を返す
  • [OK] $<command> search <keyword>: 語録の一覧からキーワードを含むものを返す
  • [OK] $create help: createコマンドの使い方を返す

kudo コマンド

  • [OK] <name>++: 指定された名称に対して++します
  • [OK] $kudo help: kudoコマンドの使い方を返す

thx コマンド

  • [OK] [user_name]++ [word]: 指定したSlackのユーザーにGJする
  • [OK] $thx from <user_name>: 誰からGJされたかの一覧を表示する
  • [OK] $thx to <user_name>: 誰にGJしたかの一覧を返す
  • [OK] $thx help: thxコマンドの使い方を返す
  • ※各コマンドにてuser_name引数を省略した際には投稿者に対しての操作になります

redmine コマンド

  • [OK] /msg @haro $redmine key <your_api_key>: 自分のRedmineのAPIキーを登録する
  • [OK] $redmine add <redmine_project_identifier>: コマンドを実行したSlackチャンネルとRedmineのプロジェクトを連携させます

fumi23 が実行したコマンド:

# 事前に以下を実行
# 1. .env を「REDMINE_URL=https://project.beproud.jp/redmine」に変更
# 2. https://project.beproud.jp/redmine/projects/beproudbot/settings の Slack Channel を #bot-test-fumi23 に変更
$redmine add beproudbot
t66980
$redmine remove beproudbot
  • [OK] $redmine remove <redmine_project_identifier>: コマンドを実行したSlackチャンネルとRedmineプロジェクトの連携を解除します
  • ※<your_api_key> はRedmineの [個人設定] -> [APIアクセスキー] -> [表示] から取得します
  • ※<redmine_project_identifier> はRedmineのプロジェクトを開き、 [設定] -> [情報] -> [識別子] から取得します
  • [OK] $redmine help: redmineのコマンドの使い方を返す

uranai コマンド

  • [OK] $uranai <誕生日(4桁)>: 今日の占いを返す

lunch コマンド

  • [OK] $lunch: オフィス近辺のお店情報返す
  • [OK] $lunch <keyword>: 指定したキーワードのお店情報を返す
  • [OK] $lunch <keyword> <distance>: 指定したキーワードと検索距離のお店情報を返す
  • [OK] $lunch help: このコマンドの使い方を返す

amesh コマンド

status コマンド

  • [OK] $status: リソース一覧表示
  • [OK] $status <add> <name>: リソース追加
  • [OK] $status <del,delte,rm,remove> <name>: リソース削除
  • [OK] $status <name>: リソースのステータスをデフォルトに戻す
  • [OK] $status <name> <value>: リソースのステータス設定

@fumi232323
Copy link
Contributor

#200 にて対応 done

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants