その日1日ミーティングのホストになってしまった!
何かしらスラック のグループでその日1日ホストとなり、会議のためのズーム URLを時間ごとに投稿する機会があると思います。
問題
・その時間にZOOMのURLの投稿を忘れてしまう
・投稿しなければ!と集中力がゼロになってしまう
解決法
・スラック のリマインダー機能を使用する。
朝にその日に自分が投稿するものを一斉に予約しておけば、設定した通りに投稿されます。
詳しくは以下のページを参考にしてください。
https://lab.sonicmoov.com/tool/slack-reminder/
スラックのリマインダー機能を使う際の問題
リマインダー機能を使うには、1つの投稿につき1つのリマインダーを設定する必要がある。つまり、コピペして記載する文章やら時間をゴニョゴニョと書き換える必要があります。(そんなことしなくて良い機能があったら教えてください。。)
解決法
以下のプログラムを作成しました。
# 設定
outputs = ["10:00","11:00","13:00","15:00","16:00","17:00","18:00","19:00"]#zoomのurl投稿時間
channel_name = "#〇〇"#通知チャンネル
notification = "@here"#通知する人
notification_time = "3"#何分前に通知するのか
word = ["朝礼","昼礼","ご参集ください"] #投稿したい言葉
class Riminder #リマインダーを生成するクラスです
def initialize(times,zoom,channel,notification,pre_time,word) #インスタンス変数?を定義
@times = times
@zoom = zoom
@channel = channel
@notification = notification
@pre_time = pre_time
@word = word
end
def sentence #実際に出力する文章を作成します
n = 0
@times.each do |time|
if n == 0 #outputsの配列の番号?によって出力する言葉を変えています
sentence = @word[n]
elsif n == 1
sentence = @word[n]
else
sentence = @word[2]
end
bot = "/remind #{@channel} ”\n#{sentence}#{time}\n#{@zoom}\n#{@notification}\n” #{@times3[n]}\n " #この文章が出力されます
puts bot
n += 1
end
end
def timechanger #3分前に通知したいので、アウトプット時間から3分前の値を出力してます
@times3=[]
@times.each do |time|
a = time.split(":") #"10:00"の:を削除してます
time1 = Time.local(2020,10,1,a[0],a[1],00) #Timeという時刻に関するrubyに標準装備されているクラスを使用します
time2 = time1 - (@pre_time.to_i * 60) #3分前(180秒)(通知したい時間)
@times3 << "#{time2.hour}:#{time2.min}"#10:10みたいな時間表記に変更してtimes3配列に入れていきます
end
end
end
puts "アウトプットの時間は、#{outputs}です"
puts "投稿するチャンネルは#{channel_name}です"
puts "通知メンバーは#{notification}です"
puts "通知時間はアウトプットの#{notification_time}分前です"
puts "あなたのzoomのurlを入力してください"
url = gets.chomp
riminder = Riminder.new(outputs,url,channel_name,notification,notification_time,word)
# riminder.bot
riminder.timechanger
riminder.sentence
puts "生成されたリマインダーをスラックに投稿してください"
これをターミナルで実行するとzoomのurlが求められ、入力すると、
生成されたリマインダーをスラックに投稿してください
amagatanobuhiko@amagatahikosMBP desktop % ruby riminder.rb
アウトプットの時間は、["10:00", "11:00", "13:00", "15:00", "16:00", "17:00", "18:00", "19:00"]です
投稿するチャンネルは#〇〇です
通知メンバーは@hereです
通知時間はアウトプットの3分前です
あなたのzoomのurlを入力してください
zoom.com
/remind #〇〇 ”
朝礼10:00
zoom.com
@here
” 9:57
/remind #〇〇 ”
昼礼11:00
zoom.com
@here
” 10:57
/remind #〇〇 ”
ご参集ください13:00
zoom.com
@here
” 12:57
/remind #〇〇 ”
ご参集ください15:00
zoom.com
@here
” 14:57
/remind #〇〇 ”
ご参集ください16:00
zoom.com
@here
” 15:57
/remind #〇〇 ”
ご参集ください17:00
zoom.com
@here
” 16:57
/remind #〇〇 ”
ご参集ください18:00
zoom.com
@here
” 17:57
/remind #〇〇 ”
ご参集ください19:00
zoom.com
@here
” 18:57
のような出力が得られます。
これを下のようなブロックごとにスラック に貼り付けて送信するだけです。
/remind #〇〇 ”
ご参集ください19:00
zoom.com
@here
” 18:57
上の設定の部分で、通知したいチャンネル、何分前に通知するか、などを設定できます。
これを作った後にスラックでボットが作成できるようだと知りましたが、、まだよくわかってません。
また調べてみます。
以上