Dieser Artikel ist der 17. Tagesartikel von Fujitsu Cloud Technologies Adventskalender 2019. Gestern war @heriets "textlint PowerPoint (pptx)".
Ich bin kein technischer Mitarbeiter, sondern ein Planer, daher habe ich viele Möglichkeiten, PowerPoint zu erstellen. Ich bin interessiert, weil es viele Möglichkeiten gibt, darauf hinzuweisen, dass die Notation schwankt.
Ich heiße übrigens Sasaki. Ich bin normalerweise für die Planung des [Nifkura Mobile Backend] verantwortlich (https://mbaas.nifcloud.com/).
Hörst du Musik bei der Arbeit? Ich denke, dass es Menschen gibt, die nicht zuhören, und Menschen, die aufgrund des Arbeitsumfelds und vieler Telefonkorrespondenzen nicht wirklich zuhören können. Da unser Unternehmen ein Unternehmen ist, das sich auf Ingenieure konzentriert, gibt es viele Menschen, die mit Kopfhörern und Kopfhörern arbeiten, und ich denke, dass es wahrscheinlich mehr Menschen gibt, die beim Musikhören arbeiten als die breite Öffentlichkeit. .. Heute ist so eine Geschichte über Musik bei der Arbeit.
#NowPlaying
Kennen Sie das Hashtag #NowPlaying, das häufig auf Twitter verwendet wird? Dies ist ein Hashtag, der bedeutet "Ich höre gerade diesen Song", der oft von Musikliebhabern verwendet wird und ich benutze ihn manchmal. Es gibt auch einige Apps, die # NowPlaying-Beiträge unterstützen, z. B. das Twittern eines Songtitels / Interpreten per Knopfdruck, wodurch das Twittern sehr einfach wird.
Auf unserer Slack gibt es einen Kanal, auf dem Sie dieses #NowPlaying veröffentlichen können, und Musikliebhaber im Unternehmen versammeln sich, um Songs zu veröffentlichen, die sie jeden Tag bei der Arbeit hören. (Wenn Sie auf eine Situation stoßen, in der jemand einen Song hört, den Sie sehr mögen, wird Emojis Reaktion leise abgespielt.)
Es gibt jedoch keine App, die das Posten wie Twitter unterstützt, und ich gebe den Songtitel / Künstlernamen von Hand ein. (Besonders meine Lieblingsband namens THEE MICHELLE GUN ELEPHANT ist wirklich lang, also wird es ...)
Also habe ich beschlossen, einen Bot zu erstellen, der diese Aufgabe automatisiert.
Ich höre Musik mit Spotify und habe beschlossen, einen Bot mit dem folgenden Ablauf zu erstellen.
Senden Sie eine Antwort an Bot → Rufen Sie das Lied ab, das Spotify über die API abspielt → Veröffentlichen Sie den Liednamen und den Künstlernamen aus dem Erfassungsergebnis
Bot läuft auf Python und verwendet die folgenden Pakete:
Übrigens habe ich als Nicht-Ingenieur viele unvernünftige Dinge ausprobiert, z. B. die API-Referenz überprüft und versucht, alles mit JavaScript (und Front-End) zu implementieren, aber ich habe meinem leitenden Ingenieur geholfen. Mir wurde diese Komposition beigebracht. Vielen Dank!
Dann werde ich erklären, wie es geht. Stellen Sie außerdem die Bots-Integration von Slack im Voraus ein und notieren Sie sich das API-Token.
Führen Sie zunächst die folgenden Schritte aus, um die Client-ID und das Client-Geheimnis auf der Spotify-Seite auszugeben.
Führen Sie zuerst Slackbot ein.
$ pip3 install slackbot
Als nächstes werden wir spotipy vorstellen.
$ pip install spotipy
Erstellen Sie irgendwo einen Projektordner und arbeiten Sie darin. Erstellen Sie Verzeichnisse / Dateien so, dass sie die folgende Hierarchie haben.
Projektordner
├ plugins/
│ ├ __init__.py
│ └ my_mention.py
├ run.py
└ slackbot_settings.py
Öffnen Sie run.py und schreiben Sie das Ausführungsskript. Führen Sie dieses Skript aus, wenn Sie den Bot starten.
run.py
# coding: utf-8
from slackbot.bot import Bot
def main():
bot = Bot()
bot.run()
if __name__ == "__main__":
print('Slackbot hat begonnen')
main()
Bearbeiten Sie als Nächstes die Einstellungsdatei. Ersetzen Sie den Teil "Slack Bot's Integration API Token" durch den Bot API Token, der auf der Slack-Seite erstellt wurde.
slackbot_settings.py
# coding: utf-8
API_TOKEN = "API-Token für die Bots-Integration von Slack"
DEFAULT_REPLY = "Dies ist ein unerwarteter Befehl."
PLUGINS = ['plugins']
my_mention.py
Lassen Sie uns jetzt eine Antwort geben. Ersetzen Sie Ihren Spotify-Benutzernamen / Ihre Client-ID / Ihr Client-Geheimnis / Ihre Slack-Benutzer-ID. Den Spotify-Benutzernamen finden Sie unter hier. Die Bestätigungsmethode für die Slack-Benutzer-ID finden Sie unter hier.
my_mention.py
import spotipy
import spotipy.util as util
from slackbot.bot import respond_to
@respond_to('NP')
@respond_to('np')
def mention_func(message):
scope = 'user-read-currently-playing'
token = util.prompt_for_user_token(username="Spotify-Benutzername", scope, client_id="Kunden ID", client_secret="Kundengeheimnis", redirect_uri="http://localhost:8888/callback")
spotify = spotipy.Spotify(auth=token)
current_track = spotify.current_user_playing_track()
if message.body['user'] == 'Slack User ID':
if type(current_track) == dict:
message.send(current_track['item']['name'] + ' - ' + current_track['item']['artists'][0]['name'])
else:
message.send('Ich spiele nichts')
else:
message.send('Wer bist du?')
Dies ist abgeschlossen. Machen wir das.
$ python run.py
Wenn Sie danach zu einem Kanal einladen und "@bot name np" erwähnen, wird der Browser gestartet und Sie werden aufgefordert, sich zum ersten Mal zu authentifizieren. Nach der Authentifizierung ändert sich der Bildschirm in einen leeren Bildschirm. Kopieren Sie daher die Ziel-URL und fügen Sie sie in das Terminal ein.
Übrigens, selbst wenn andere Leute die Erwähnung überspringen, werden sie antworten "Wer bist du?".
Jetzt können Sie die Songs, die Sie gerade hören, ganz einfach in Spotify to Slack veröffentlichen.
Dies gilt jedoch nur für mich, da der Server, auf dem Bot ausgeführt wird, eine Authentifizierung benötigt und es nicht möglich ist, die Authentifizierungsinformationen mehrerer Personen zu speichern. Ich möchte es für verschiedene Personen nutzbar machen, daher möchte ich es weiterhin reparieren!
Morgen wird @aokuma sagen: "Ich möchte Kubernetes auch mit Nifukura auf nette Weise nutzen!" Ich freue mich darauf!
Schöne Weihnachten.
Recommended Posts