Bildtext und Post to Slack (Python Slackbot)

Es ist ein Skript, das die Charaktere von Hubot, die ich das letzte Mal geschrieben habe (obwohl es schon lange her ist), abbildet und veröffentlicht. In letzter Zeit gibt es viele Möglichkeiten, Python zu berühren, Ich denke, Python Slackbot ist einfach zu bedienen, also habe ich es mit Python umgeschrieben

Bei Python müssen Sie Pillow mit pip einschließen, anstatt ImageMagic nicht einschließen zu müssen

Python verwendet 3 oder höher, Abhängig von der Umgebung kann der folgende Befehl pip3 anstelle von pip sein

Installieren Sie das Kissen

pip install Pillow

Ein Skript, das Zeichen visualisiert und sie in den Ruhezustand versetzt

# -*- coding: utf-8 -*
from slackbot.bot import respond_to
from slackbot.bot import listen_to
from slackbot.bot import default_reply

from PIL import Image, ImageDraw, ImageFont
import random

@respond_to('str_img\s+(.*)')
def mention_func1(message, arg1):

    spcolor = [
      'magenta',
      'orange',
      'LimeGreen',
      'blue',
      'purple',
      'OrangeRed',
      'SkyBlue',
      'LightBlue',
      'Turquoise',
      'gold'
    ]

    im = Image.new("RGB",(50,50),"white")
    fnt = ImageFont.truetype('/slackbot/plugins/cp_font.ttf', 50)
    draw = ImageDraw.Draw(im)
    text_size = draw.textsize(arg1, fnt)
    im = im.resize(text_size)
    draw = ImageDraw.Draw(im)
    draw.text((0,0), arg1, fill=random.choice(spcolor), font=fnt)
    im.save("/tmp/str_img.png ")
    message.channel.upload_file(fname="/tmp/str_img.png ", fpath="/tmp/str_img.png ")

Ich verstehe nicht gut

--ImageDraw.Draw zweimal, um Zeichen hinzuzufügen und ein Bild für die Breite der Zeichen zu erstellen

Andere

Recommended Posts

Bildtext und Post to Slack (Python Slackbot)
Post von Python nach Slack
poste an vim → Python → Slack
Post to Slack mit Python 3
Post an Slack in Python
POST-Nachrichten von Python an Slack über eingehenden Webhook
Post an Slack über Abonnenten
Mit Python auf Twitter posten
Versuchen Sie es mit Junos 'On-Box Python #Bonus 1 So etwas wie ChatOps / Commit und posten Sie es bei Slack
[Lass uns mit Python spielen] Bildverarbeitung zu Monochrom und Punkten
[Einführung in Python3 Tag 1] Programmierung und Python
Post von Python auf Facebook Timeline
[Lambda] [Python] Von Lambda auf Twitter posten!
Workflow zum Konvertieren der Formel (Bild) in Python
Poste ein Bild von Python auf Tumblr
Python-Protokollierung und Dump an JSON
Selen und Python zum Öffnen von Google
Mit Python 3 einfach auf Twitter posten
[Nanonets] Wie poste ich Memo [Python]
Einführung in die Bildanalyse opencv python
Senden Sie eine Nachricht von IBM Cloud Functions an Slack in Python
[Python] Versuchen Sie, Zeichen aus Bildern mit OpenCV und pyocr zu erkennen
So verpacken und verteilen Sie Python-Skripte
Von Python bis zur Verwendung von MeCab (und CaboCha)
HTML-Mail mit Bild zum Senden mit Python
So installieren und verwenden Sie pandas_datareader [Python]
Geben Sie Farbzeichen mit Python zu hübsch aus
Binden Sie Methoden an Python-Klassen und -Instanzen
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
POST verschieden mit Python und empfange mit Flask
Fraktal zum Erstellen und Spielen mit Python
[Python] Erstellen Sie einen Linebot, um den Namen und das Alter auf das Bild zu schreiben
Melden Sie sich mit Anforderungen in Python bei Slack an
Portieren und Ändern des Doublet-Solvers von Python2 auf Python3.
Lesen Sie Python csv und exportieren Sie es nach txt
Python: Verwendung von Einheimischen () und Globalen ()
POST-Fotos mit Microsoft Bing Image Search API, um Image Insights (Python) zu erhalten
So passen Sie den Bildkontrast in Python an
Erstellen Sie einen Postfix-Mailserver, starten Sie den durch den Mailempfang ausgelösten Python-Code und senden Sie die Mail an Slack (lokale Umgebungsversion)
[Python] Berechnen von MAE und RMSE
Verwendung von Python zip und Aufzählung
Komprimieren Sie Python-Daten und schreiben Sie in SQLite
[Python] Senden Sie das von der Webkamera aufgenommene Bild an den Server und speichern Sie es
Verwendung ist und == in Python
Beispiel für die Wavelet-Konvertierung von Bildern in Python
Senden Sie eine Nachricht von Slack an einen Python-Server
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
MessagePack-Versuchen Sie, Java und Python mit RPC zu verbinden
Konvertieren Sie PDF in Bilder (JPEG / PNG) mit Python
So generieren Sie eine Sequenz in Python und C ++
[Vim] [Python] Fehler bei Jedi-Vim- und Multibyte-Charakteren?
Generieren und veröffentlichen Sie Dummy-Bilddaten mit Django
8-Bit-Graustufen-Downscaling auf Bilder und Bildkontrast
Verwendung der Python-Bildbibliothek in der Python3-Serie
So beschneiden Sie ein Bild mit Python + OpenCV