python リスト内表記 リンクを取得 Facebook × Pinterest メール 他のアプリ 4月 10, 2011 print [ i*i for i in range(10) ] >>> [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] うん。便利。 リンクを取得 Facebook × Pinterest メール 他のアプリ コメント
slackで投稿内容を自動翻訳する(3/5)slackにおけるメッセージの構造 1月 03, 2018 前回 に引き続きslackで投稿内容を自動翻訳の2回目。 今回はslackのメッセージの構造を見ていきます。 1. Pythonからgoogle翻訳(googletransの使い方) 2. Pythonプログラムからメッセージを投稿 3.slackにおけるメッセージの構造(今回) 4.投稿イベントを検知して投稿(準備中) 5.投稿されたメッセージを翻訳して投稿(準備中) 3-1.メッセージはテキストだけではない 普段slackでメッセージやり取りしていると、大抵はテキストメッセージだけですが、例えば、zendeskからメッセージをticket情報を飛ばすと以下のような表示になり、単にテキストだけでなく構造を持っているということが分かります。 このようなデータがslack上でどのように構造化されているのか見てみます。 以下のページ中段の「Response」セッションにサンプルが記載されています。 slack API chat.postMessage "message" : { "text" : "Here's a message for you" , "username" : "ecto1" , "bot_id" : "B19LU7CSY" , "attachments" : [ { "text" : "This is an attachment" , "id" : 1 , "fallback" : "This is an attachment's fallback" } ], "type" : "message" , "subtype" : ... 続きを読む
slackでgeneralの投稿を全削除する 12月 31, 2017 最近slackも日本語化して、海外との槍とも多いことからchatworkからslackへ移行しています。 slackは概ね満足なのですが、1点不満を言うとすれば、ワークスペースという一旦大きなくくりを作らないといけないので、LINEのグループみたいなものを作る点がやや億劫です。 ですが、その点を除けば、概ね機能性は他のサービスの上位互換な気がしています。。。 Slackを仕事で暫く使用しているとると困ったことが発生しました。 それは、generalというデフォルトのチャネルに関してで、全メンバー公開のこのチャネルに色々投稿していたのですが、プロジェクトの途中に権限レベルの異なるメンバーが参加し、そのメンバには見せられない情報をgeneralに投稿してしまっていたからで、当初はgeneralにアクセス制限かければと考えたのですがどうにもそれはできない仕様になっており別の対策をする必要が発生しました。 ということで、今回は以下の対応を取りました。 1. generalの内容をエクスポート 2. generalの内容を別のプライベートチャネルにインポート 3. generalの内容を全削除 1と2はslackの機能で対応可能です。 3は対応できなかったのでPythonで削除することにしました(もちろん手動で一つ一つ削除することは可能です) なお、以下の手順は実行者がオーナーの場合を想定しています。 権限が無ければエクスポート等できない操作があります。 1.generalの内容をエクスポート 以下にアクセスして「エクスポートを開始」をクリックします。 データのエクスポート ※ 事前にワークスペースにログインしておく必要があります。 そのまま準備が完了するまで待ちます。 適当なタイミングで画面リフレッシュ(F5)すると「ダウンロード可能」の文言が現れますのでこれをクリックするとエクスポートファイルをダウンロードできます。 (参考) ワークスペースの管理 2.generalの内容を別のプライベートチャネルにインポート 以下にアクセスして「Slack」行の「インポート」ボタンをクリックします。 データのインポート 「ファイルを選択」ボタンをクリックして先ほどエクスポートしたファイルを選択し、 「インポー... 続きを読む
slackで投稿内容を自動翻訳する(2/5)Pythonプログラムからメッセージを投稿 1月 01, 2018 前回 に引き続きslackで投稿内容を自動翻訳の2回目。 今回はPythonプログラムでslackで投稿する方法を見ていきます。 1. Pythonからgoogle翻訳(googletransの使い方) 2.Pythonプログラムからメッセージを投稿(今回) 3. slackにおけるメッセージの構造 4.投稿イベントを検知して投稿(準備中) 5.投稿されたメッセージを翻訳して投稿(準備中) 2-1.slack API用tokenの取得 Pythonプログラムからslackにアクセスするにはtoken(実体は単なる文字列)が必要です。 以下からtokenを作成/取得します。 Legacy tokens ワークスペースにログインした状態で上記ページにアクセスすると、 ページ中断に以下の「Create token」ボタンがあるのでこれをクリックします。 そうするとボタン左側のToken列にTokenが生成されますのでこれを控えておきます。 なお、これはLegacy tokenとされ、比較的なんでもできてしまうトークンのため、よりセキュアに利用する場合には こちら を参照のこと。 ※ 私はLegacy tokenを利用して作成してしまったのでここでは新しい方は使ってません。。。 2-2.slackclientパッケージのインストール slack APIにアクセスするにはパッケージを利用しなくても可能ですが、 ココは他人の力を借りて進めたいと思います。 slackclientというパッケージを利用します。 pipでイストールが可能です。 > pip install slackclient 2-3.channel idを取得 slackに投稿するするにはチャネルを指定する必要がありますが、 チャネル名(e.g. general)を直接指定することができず、 必ずchannel idを指定する必要があるので、まずはそのidを取得します。 簡単に取得するには以下ページにアクセスします。 slack API channels.list このページの「Tester」タブにある「Test Method」をクリックすると 文字列(JSON形式)が表示されるので、その中から以下の表示を見つけます... 続きを読む
コメント
コメントを投稿