[RUBY] Vorlagenerstellungsprogramm bei Verwendung der Erinnerungsfunktion im Ruhezustand

Ich wurde der Gastgeber des Treffens an diesem Tag!

Ich denke, Sie haben die Möglichkeit, einen Tag in einer Gruppe von Slacks zu veranstalten und stündlich eine Zoom-URL für das Meeting zu veröffentlichen.

Problem

・ Vergessen Sie zu diesem Zeitpunkt, die ZOOM-URL zu veröffentlichen ・ Ich muss posten! Und die Konzentration wird Null

Lösung

-Verwenden Sie die Slack-Erinnerungsfunktion. Wenn Sie alle Dinge reservieren, die Sie an diesem Tag am Morgen veröffentlichen möchten, werden sie so veröffentlicht, wie Sie es festgelegt haben. Weitere Informationen finden Sie auf der folgenden Seite. https://lab.sonicmoov.com/tool/slack-reminder/

Probleme bei der Verwendung der Slack-Erinnerungsfunktion

Um die Erinnerungsfunktion verwenden zu können, müssen Sie für jeden Beitrag eine Erinnerung festlegen. Mit anderen Worten, es ist notwendig, die Sätze und die Zeit neu zu schreiben, um sie als Gonyogonyo zu kopieren und zu schreiben. (Bitte lassen Sie mich wissen, ob es eine Funktion gibt, die Sie nicht ausführen müssen.)

Lösung

Ich habe das folgende Programm erstellt.

riminder.rb


#Aufbau
outputs = ["10:00","11:00","13:00","15:00","16:00","17:00","18:00","19:00"]#Zoom URL Posting Time
channel_name = "#〇〇"#Benachrichtigungskanal
notification = "@here"#Person zu benachrichtigen
notification_time = "3"#Wie viele Minuten im Voraus
word = ["Morgenversammlung","Mittagessen","Bitte komm zusammen"] #Wörter, die Sie posten möchten

class Riminder #Eine Klasse, die Erinnerungen generiert
  def initialize(times,zoom,channel,notification,pre_time,word) #Instanzvariable? Definieren
    @times = times
    @zoom = zoom
    @channel = channel
    @notification = notification
    @pre_time = pre_time
    @word = word
  end

  def sentence #Erstellen Sie einen Satz, der tatsächlich ausgegeben werden soll
    n = 0
    @times.each do |time| 
        if n == 0 #Array Anzahl der Ausgänge? Die von ausgegebenen Wörter
          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 " #Dieser Satz wird ausgegeben
      puts bot
      n += 1
    end
  end

  def timechanger #Ich möchte 3 Minuten vorher benachrichtigt werden, daher gebe ich den Wert 3 Minuten vor der Ausgabezeit aus
    @times3=[]
    @times.each do |time|
      a = time.split(":") #"10:00"von:Ist gelöscht
      time1 = Time.local(2020,10,1,a[0],a[1],00) #Verwenden Sie die Standardklasse von Ruby in Bezug auf die Zeit namens Zeit
      time2 = time1 - (@pre_time.to_i * 60) #vor 3 Minuten(180 Sekunden)(Zeit, zu der Sie benachrichtigt werden möchten)
      @times3 << "#{time2.hour}:#{time2.min}"#10:Wechseln Sie zu einer Zeitnotation wie 10 und fügen Sie sie in das Array times3 ein
    end
  end
end


puts "Ausgabezeit ist#{outputs}ist"
puts "Der zu postende Kanal ist#{channel_name}ist"
puts "Benachrichtigungsmitglieder#{notification}ist"
puts "Die Benachrichtigungszeit ist die Ausgabe#{notification_time}Vor ein paar Minuten"
puts "Bitte geben Sie die URL Ihres Zooms ein"
url = gets.chomp
riminder = Riminder.new(outputs,url,channel_name,notification,notification_time,word)
# riminder.bot
riminder.timechanger
riminder.sentence
puts "Veröffentlichen Sie die generierte Erinnerung in Slack"




Wenn ich dies im Terminal ausführe, erhalte ich die Zoom-URL und wenn ich sie eingebe,

Veröffentlichen Sie die generierte Erinnerung in Slack
amagatanobuhiko@amagatahikosMBP desktop % ruby riminder.rb
Ausgabezeit ist["10:00", "11:00", "13:00", "15:00", "16:00", "17:00", "18:00", "19:00"]ist
Der zu postende Kanal ist#Es ist 〇〇
Benachrichtigungsmitglieder@Hier ist
Die Benachrichtigungszeit beträgt 3 Minuten vor der Ausgabe
Bitte geben Sie die URL Ihres Zooms ein
zoom.com
/remind #〇〇 ”
Morgenversammlung 10:00
zoom.com
@here
” 9:57
 
/remind #〇〇 ”
Mittagessen 11:00
zoom.com
@here
” 10:57
 
/remind #〇〇 ”
Bitte kommen Sie zusammen 13:00
zoom.com
@here
” 12:57
 
/remind #〇〇 ”
Bitte kommen Sie zusammen 15:00
zoom.com
@here
” 14:57
 
/remind #〇〇 ”
Bitte komm zusammen 16:00
zoom.com
@here
” 15:57
 
/remind #〇〇 ”
Bitte komm zusammen 17:00
zoom.com
@here
” 16:57
 
/remind #〇〇 ”
Bitte komm zusammen 18:00
zoom.com
@here
” 17:57
 
/remind #〇〇 ”
Bitte komm zusammen 19:00
zoom.com
@here
” 18:57

Sie erhalten eine Ausgabe wie folgt: Fügen Sie dies einfach in eine Lücke ein und senden Sie es Block für Block, wie unten gezeigt.

/remind #〇〇 ”
Bitte komm zusammen 19:00
zoom.com
@here
” 18:57

Im obigen Einstellungsteil können Sie den Kanal festlegen, den Sie benachrichtigen möchten, wie viele Minuten, bevor Sie benachrichtigt werden möchten usw. Nachdem ich das gemacht hatte, erfuhr ich, dass es so aussieht, als könnten Bots mit Slack erstellt werden, aber ich bin mir immer noch nicht sicher. Ich werde es noch einmal überprüfen.

das ist alles

Recommended Posts

Vorlagenerstellungsprogramm bei Verwendung der Erinnerungsfunktion im Ruhezustand
Unterschiede im Code bei Verwendung des Längensystems in Java
Sehen wir uns das Ausführungsergebnis an, wenn Sie die vorbereitete Anweisung in JDBC verwenden
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
Reihenfolge der Verarbeitung im Programm
Ich habe die Punkte zusammengefasst, die bei der kombinierten Verwendung von Ressourcen und Ressourcen zu beachten sind
Versuchen Sie es mit der Stream-API in Java
Erstellen eines Beispielprogramms mit dem Problem eines Datenbankspezialisten für DDD-Verbesserung 2
[Hinweis] Java-Programm in integrierter Entwicklungsumgebung ausführen Eclipse-I hat versucht, git zu verwenden
Erstellen eines Beispielprogramms mit dem Problem eines Datenbankspezialisten mit DDD-Verbesserung 1
Seien Sie vorsichtig mit Anfragen und Antworten, wenn Sie das Serverless Framework mit Java verwenden