C'est un script qui image et affiche les personnages de hubot que j'ai écrit la dernière fois (même si c'était il y a longtemps), Récemment, il existe de nombreuses opportunités pour toucher Python, Je pense que python slackbot est facile à utiliser, alors je l'ai réécrit avec python
Avec python, au lieu de ne pas avoir à inclure ImageMagic, vous devez inclure Pillow avec pip
Python utilise 3 ou une version ultérieure, Selon l'environnement, la commande suivante peut être pip3 au lieu de pip
pip install Pillow
# -*- 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 ")
--ImageDraw.Draw deux fois pour ajouter des caractères et créer une image pour la largeur des caractères --Je ne suis pas familier avec python (en particulier avec les images), donc s'il y a une autre bonne façon de l'écrire, je vais le réparer.
―― J'ai eu la possibilité de changer la taille de l'image la dernière fois, Je l'ai omis cette fois car il sera de la même taille quand il sera affiché sur slack
Recommended Posts