Überprüfen Sie die Aktienkurse mit Slackbot mit Python

Überprüfen Sie den Aktienkurs mit Spiel. Es ist sehr praktisch. (Hier war sehr hilfreich)

スクリーンショット 2017-08-16 15.19.35.png ## 1. Machen Sie einen Slackbot

https://my.slack.com/services/new/bot

2. Installieren Sie die Python-Bibliothek

$ pip install slackbot
$ pip install jsm

3. Erstellen Sie ein Verzeichnis für Slackbot

slackbot         #Ein Verzeichnis, das Programme organisiert. Jeder Name ist in Ordnung
├─ run.py        #Starten Sie den Bot, indem Sie dieses Programm ausführen
├─ slackbot_settings.py   #Datei zum Schreiben von Einstellungen für Bot
└─ plugins                #Fügen Sie diesem Verzeichnis Bot-Funktionen hinzu
   ├─ __init__.py         #Eine Datei zur Angabe des Moduls. Leer ist in Ordnung
   └─ my_mention.py       #Verfügt über jede Datei. Jeder Name ist in Ordnung
$ touch run.py slackbot_settings.py
$ mkdir plugins
$ cd plugins
$ touch __init__.py my_mention.py

4. Erstellen Sie ein Skript

run.py


# coding: utf-8

from slackbot.bot import Bot

def main():
    bot = Bot()
    bot.run()

if __name__ == "__main__":
    print('start slackbot')
    main()

slackbot_settings.py


# coding: utf-8

#Geben Sie das Token für das Bot-Konto an
API_TOKEN = "xxxx-xxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx"

#Antwortzeichenfolge, wenn eine an diesen Bot adressierte Nachricht für keine Antwort gilt
DEFAULT_REPLY = "Ah ah ..."

#Liste der Unterverzeichnisnamen, in denen sich das Plug-In-Skript befindet
PLUGINS = ['plugins']

my_mention.py


# coding: utf-8

from slackbot.bot import respond_to     # @botname:Decoder, der mit reagiert
from slackbot.bot import listen_to      #Decoder, der auf kanalinterne Bemerkungen reagiert
from slackbot.bot import default_reply  #Decoder, der reagiert, wenn keine entsprechende Antwort erfolgt

# @respond_to('string')Nachricht an den Bot
#Zeichenfolge kann ein regulärer Ausdruck sein "r'string'」
# @listen_to('string')Andere Beiträge als Bot im Kanal
#                           @botname:Beachten Sie, dass es nicht reagiert
#Reagieren Sie, wenn Sie anderen gegenüber erwähnen
#Kann normal ausgedrückt werden
# @default_reply()          DEFAULT_Gleiche Funktion wie ANTWORT
#Wenn Sie einen regulären Ausdruck angeben, werden andere Decoder nicht getroffen
#Reagieren Sie, wenn Sie einem regulären Ausdruck entsprechen
#... Aber ist es ein Fehler, wenn ich einen regulären Ausdruck spezifiziere?

# message.reply('string')   @Name des Sprechers:Nachricht mit String senden
# message.send('string')Zeichenfolge senden
# message.react('icon_emoji')Reaktion auf die Nachricht des Sprechers(Stempel)Machen
#In der Zeichenfolge':'Ich brauche nicht
@respond_to('Gut gemacht')
def mention_func(message):
    message.reply('Es ist Otsu') #Erwähnen
    message.react('+1')

@listen_to('python')
def listen_func(message):
    message.send('Python Shuki')      #Nur ein Beitrag

@listen_to('mac')
def listen_func(message):
    message.send('Mac ist gut ~')      #Nur ein Beitrag

@listen_to('win')
def listen_func(message):
    message.send('Ich hasse Fenster')      #Nur ein Beitrag

@respond_to('Furukawa')
def listen_func(message):
    import jsm
    q = jsm.Quotes()
    price = q.get_price(5801).close # furukawa
    message.send("Der Aktienkurs ist"+str(price)+"Es ist ein Kreis")

@respond_to('Standard Preis')
def listen_func(message):
    import jsm
    q = jsm.Quotes()
    price = q.get_price(5801).close
    message.send("Furukawa Electric{0} ({1})".format(price, price-2990))
    price = q.get_price(3382).close
    message.send("7&iHD {0} ({1})".format(price, price-4450))
    price = q.get_price(5401).close
    message.send("Nippon Steel & Sumitomo Metal{0} ({1})".format(price, price-2633))
    price = q.get_price(6643).close
    message.send("Togami Electric{0} ({1})".format(price, price-459))
    price = q.get_price(7203).close
    message.send("Toyota besitzen{0} ({1})".format(price, price-6239))
    price = q.get_price(8306).close
    message.send("Mitsubishi UFJ{0} ({1:.1f})".format(price, price-702.4))
    price = q.get_price(9022).close
    message.send("JR Tokai{0} ({1})".format(price, price-17781))
    price = q.get_price(9437).close
    message.send("NTT Docomo{0} ({1:.1f})".format(price, price-2600))
    price = q.get_price(9613).close
    message.send("NTT-Daten{0} ({1})".format(price, price-1215))
    price = q.get_price(9501).close
    message.send("TEPCO{0} ({1})".format(price, price-472))

Der aktuelle Aktienkurs und der Wert im Vergleich zum Kaufpreis werden angezeigt.

5. Führen Sie aus

$ python run.py
スクリーンショット 2017-08-16 15.26.21.png スクリーンショット 2017-08-16 15.26.33.png

(Ergänzung) Führen Sie Slackbot als Dämon auf Raspeye aus

(mac)$ ssh [email protected]

$ sudo apt-get install python3-pip
$ pip3 install slackbot
$ pip3 install jsm
$ git clone https://github.com/msrks/slackbot.git
$ cd slackbot/
$ ls
README.md  plugins  run.py  slackbot_settings.py
$ nano slackbot_settings.py #API-Schlüssel neu schreiben
$ nohup python3 run.py &
$ exit

Siehe Vorheriger Artikel für nohup

Recommended Posts

Überprüfen Sie die Aktienkurse mit Slackbot mit Python
Automatische Erfassung von Aktienkursen mit Python
Domaincheck mit Python
Überprüfen Sie die Version mit Python
Überprüfen Sie die Python-Abdeckung mit pytest-cov
Verwenden von Quaternion mit Python ~ numpy-quaternion ~
[Python] Verwenden von OpenCV mit Python (Basic)
Holen Sie sich Lager mit Python
Verwenden von OpenCV mit Python @Mac
Senden Sie mit Python mit Google Mail
IP-Spoof mit tor unter macOS und mit Python prüfen
Vervollständigung von Python mit Emacs mit Company-Jedi
Harmonischer Mittelwert von Python (mit SciPy)
Verwenden von Rstan aus Python mit PypeR
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
[Python] Verwenden von OpenCV mit Python (Kantenerkennung)
[Python] Generiere ein Passwort mit Slackbot
Überprüfen Sie den Python-Codestil mit pep8
Hinweise zur Verwendung von rstrip mit Python.
Bei Verwendung von MeCab mit virtualenv python
Vorsichtsmaßnahmen bei Verwendung von sechs mit Python 2.5
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
[Python] Einfache Überprüfung des Argumenttyps mit Datenklasse
Versuchen Sie eine Formel mit Σ mit Python
Hinter dem Flyer: Docker mit Python verwenden
Verwenden von Python und MeCab mit Azure Databricks
Überprüfen Sie die Existenz der Datei mit Python
Laden Sie japanische Aktienkursdaten mit Python herunter
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
Arbeiten mit OpenStack mit dem Python SDK
Tipps zur Verwendung von Python + Caffe mit TSUBAME
Ich verwende Tox und Python 3.3 mit Travis-CI
[Persönliches Memo] julia - Verwenden Sie die Python-Bibliothek mit julia unter Verwendung von PyCall
FizzBuzz in Python3
Stock Number Ranking von Qiita Tag mit Python
Scraping mit Python
Lesen Sie Daten mit python / netCDF> nc.variables [] / Überprüfen Sie die Datengröße
Überprüfen Sie Python-Skripte automatisch mit GitHub + Travis-CI + Pycodestyle
Python-Grammatikprüfung
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Starten Sie Python
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Überprüfen Sie das Datum der Flaggenpflicht mit Python
Spielen Sie mit 2016-Python
Ich habe versucht, Mecab mit Python2.7, Ruby2.3, PHP7 zu verwenden
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Letzte Ranglistenerstellung mit der Qiita-API mit Python
Bingo mit Python
Zundokokiyoshi mit Python
Web Scraping mit Python (Aktienkurs)
Scraping mit Python
Excel mit Python
Mikrocomputer mit Python