Skip to content

wakuwinmail/karayama2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

はじめに

このプログラムはSlack bot用のプログラムです。

このプログラムでは、競技プログラミングをする人向けに以下の2つの機能が提供しています。

  • Codeforcesのバーチャルコンテストリコメンド(解いていない問題セットの提示)
  • バーチャルコンテスト後の問題議論用スレッド立て

必要なもの

  • Python3系の環境(最新のものをおすすめします)

導入方法

1.pipを使ってslackbotライブラリをインストールします。 (pip3導入済みなら2行目のみ)

$ sudo apt-get install python3-pip
$ sudo pip3 install slackbot

2.karayama2020レポジトリを手元にクローンします。

$ git clone [email protected]:wakuwinmail/karayama2020.git

3.https://miyabikno-jobs.com/slackbot-api-token/ を参考にし、APIトークンを取得します。

4.Botを導入したいSlackのチャンネルで「アプリを追加する」を選択し、3で作成したBotをチャンネルに追加します。

5.取得したAPIトークンを"apitoken.txt"としてテキストファイルに保存し、1のフォルダ直下に置きます。

6.手元でbot.pyを実行すると、Slack botが起動します。

Codeforcesのバーチャルコンテストリコメンド

Codeforcesのバーチャルコンテストを行うとき、参加メンバーの誰も解いていないようなコンテストをリコメンドします。

使い方

1.slack botに"build (option)"とBotにメンションを送ります。

※(option)の部分には"Div1","Div2","Div3"のいずれかを入力します。例えば"Div2"を入力すると、Div.2相当のコンテストからリコメンドを行います。

※リコメンドを中止する場合は"erase"とBotにメンションすることで中止できます。

2.「参加する人はIDをメンションで送ってください」と返事が来るので、slack botに"id (Codeforcesでのユーザー名)"とメンションを送ります。

3.ユーザーが確認できると「IDを受け付けました」と返事が返ってきます。

4.2と3を参加する人数分行います。

5."run"とBotにメンションすると、これまでに入力されたユーザーを参加者として、参加者の1人も解いていないようなコンテストをリコメンドします。 (条件を満たすコンテストが存在しない場合、「該当するコンテストはありません」と返事が来ます。)

バーチャルコンテスト後の問題議論用スレッド立て

バーチャルコンテストが終わった後などに問題毎にスレッドを立て、問題の議論や解説を行いやすくします。

使い方

1.slack botに「Nスレ立てて」とメンションを送ります。(Nには立てたいスレッドの個数を10以下の整数で入力してください。)

2.「オッケー」のリアクションとともに「OK!N個のスレッドを立てます!」と返事がきます。

3.さらに1で指定した個数だけスレッドを立てます。(「このスレッドで1番目の問題について話し合いましょう!」のような形になっています。)

4.各スレッドで問題ごとに話し合いましょう。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages