poste an vim → Python → Slack

Post über Slim von VIM über Python

――Ich wurde von den folgenden Artikeln beeinflusst.

»Was ich tun wollte

--Vorbereitung

python.py


import sys
import requests
import json
import re


class SlackApiWrapper:
    def __init__(self, proxy_flg=None):
        '''
        proxy_flg:True:Verwenden Sie Proxy
                  False:Non-Proxy
        '''
        # Your infomation
        self.token = '<your token>'
        self.postWebhookUrl = '<your webhookurl>'

        # Post infomation
        self.postSlackUrl = 'https://slack.com/api/chat.postMessage'
        self.channel = '#general'
        self.username = 'vim_python'

        # if proxy
        if proxy_flg is None:
            self.proxy_flg = False
        else:
            self.proxy_flg = proxy_flg
            self.proxy_info = {
                "http": "http://hogehoge:8080",
                "https": "http://hogehoge:8080"
            }

    def post_api(self, text):
        json_data = {
            'token': self.token,
            'channel': self.channel,
            'text': text,
            'username': self.username,
            'unfurl_links': 'false',
            'pretty': 1

        }
        if self.proxy_flg:
            r = requests.post(self.postSlackUrl, params=json_data, proxies=self.proxy_info)
        else:
            r = requests.post(self.postSlackUrl, params=json_data)
        print(r.text)

    def post_webhook(self, text):
        json_data = {
            'text': text,
            'username': self.username,
            'link_names': 1
        }
        if self.proxy_flg:
            r = requests.post(self.postWebhookUrl, data=json.dumps(json_data), proxies=self.proxy_info)
        else:
            r = requests.post(self.postWebhookUrl, data=json.dumps(json_data))
        print(r.text)


def main(args):
    filename = None
    if args:
        filename = str(args[0])

    data = None
    if filename is None:
        data = ["test"]
    else:
        try:
            with open(filename, mode="r", encoding='utf-8') as fh:
                data = fh.readlines()
        except Exception as ex:
            raise ex
    
    #Verketten Sie vim Zeilenumbrüche
    # data = "".join(data)
    # data = re.sub(r"\n", "", data)

    # None Proxy
    # sl = SlackApiWrapper(False)

    # Proxy
    sl = SlackApiWrapper(True)

    #Post Line bricht kontinuierlich
    for text in data:
        #Entweder
        sl.post_webhook(text)
        sl.post_api(text)


if __name__ == "__main__":
    main(sys.argv[1:])

_vimrc.local


"slack"{{{
function! s:post_slack_vim()"
    let s:file = tempname()
    let s:py_script = "<DL Python.py PATH>"
    silent execute ":write " . s:file
    silent execute '!python' . ' ' . s:py_script . ' ' . s:file
    call delete(s:file)
    unlet! s:file
    unlet! s:py_script
endfunction augroup END"
command! -nargs=0 PSlack call s:post_slack_vim()
"}}}

Recommended Posts

poste an vim → Python → Slack
Post von Python nach Slack
Post to Slack mit Python 3
Post an Slack in Python
Bildtext und Post to Slack (Python Slackbot)
Post an Slack über Abonnenten
Mit Python auf Twitter posten
POST-Nachrichten von Python an Slack über eingehenden Webhook
Post Jenkins Jenkins Konsolenausgabe an Slack
Post von Python auf Facebook Timeline
[Lambda] [Python] Von Lambda auf Twitter posten!
Poste ein Bild von Python auf Tumblr
Mit Python 3 einfach auf Twitter posten
[Nanonets] Wie poste ich Memo [Python]
Auf Python 2.7.9 aktualisiert
Senden Sie eine Nachricht von IBM Cloud Functions an Slack in Python
Melden Sie sich mit Anforderungen in Python bei Slack an
"Backport" zu Python 2
Senden Sie eine Nachricht von Slack an einen Python-Server
[Erster Beitrag] Frage ・ Wie man Python ausfegt
Poste den hochfliegenden Titel von Youtube mit python3 auf Twitter
Ermöglichen Sie vim quickfix, zu Python-Fehlermeldungen zu springen
Beispiel für eine Slack-Benachrichtigung mit Python Lambda
[Python] Wirf eine Nachricht an den Slack-Kanal
[Python] Erwähnen Sie mit der Slack-API mehrere Personen
Flow, um die Slack-Authentifizierung mit Flask (Python) abzuschließen
So installieren Sie Python
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Schreiben Sie Python2-Code in Python3 um (2to3)
So installieren Sie Python
Einführung in die Python-Sprache
Einführung in OpenCV (Python) - (2)
Slack Chatbot Erstellung Python
Beachten Sie, dass Python ein Daemon ist
Einführung von Python 2.7 in CentOS 6.6
Verbinden Sie Python mit MySQL
Erstellen Sie ein Plug-In, das Python Doctest auf Vim ausführt (2)
Erstellen Sie ein Plug-In, um Python Doctest mit Vim (1) auszuführen.
Für diejenigen, die Python mit vim schreiben möchten
Versuchen Sie es mit Junos 'On-Box Python #Bonus 1 So etwas wie ChatOps / Commit und posten Sie es bei Slack
Gepostet als Anhang zu Slack auf AWS Lambda (Python)
Selen und Python zum Öffnen von Google
Stellen Sie mit Python eine Verbindung zu BigQuery her
[Neueste Version 2020.8] So installieren Sie Python
[Python] Datum in Zeichenfolge konvertieren
So installieren Sie Python [Windows]
Einführung in Python Django (2) Win
So löschen Sie stdout in Python
Konvertieren Sie numpy int64 in python int
python3: Verwendung der Flasche (2)
[Python] Liste in Pandas konvertieren [Pandas]
Flirte von PHP nach Python
Ein Weg zum mittleren Python
POST json mit Python 3-Skript
Versuchen Sie, Python selbst zu verstehen