[PYTHON] Senden Sie eine direkte Liebes-E-Mail an einen neuen Benutzer, wenn ein neuer Benutzer dem Slack-Team beitritt

Einführung

Ich gehöre zu einer Organisation namens "kosen11s", die nur eine Metamorphose mit einem Namen wie ein bestimmtes überdimensionales Fußballanimationsteam hat. Zuerst gab es viel Lärm, "_Automation! Automation! Automation !!!! __", also habe ich es automatisiert.

main.jpg

(Es tut mir leid Level Fünf !!!)

Quellcode

kosen11s/slack_welcome_kosen11s

Schauen Sie sich das GitHub-Repository an! !! Ich möchte, dass es sich so anfühlt

Umgebung

Python 3.5.1 pip 8.1.2

Implementierung

$ git clone https://github.com/kosen11s/slack_welcome_kosen11s.git
$ cd slack_welcome_kosen11s
$ pip install -r requiredments.txt

Slacks API-Schlüssel usw. wird diesmal weggelassen! !! Es tut mir Leid!

run.py


from slackbot.bot import Bot
import slackbot_settings

if __name__ == "__main__":
	bot = Bot()
	bot.run()

Ich weiß nicht, ob es sinnvoll ist, dies die ganze Zeit am Laufen zu halten, aber ist es nicht schön, einen angemeldeten Benutzer zu haben?

welcome_bot.py


from slacker import Slacker
import json, requests
import slackbot_settings

welcomeMessage = """
Welcome to kosen11s:tada::tada::tada::tada:\n
Als allererstes#Stellen Sie sich kurz auf dem Profilkanal vor:heart:\n
Andere#github , #muscle , #nsfw , #Es gibt Skype! Bitte geben Sie richtig ein:raryosu:\n
Und das ist der letzte! Bitte füllen Sie das unten verlinkte Skill Sheet aus!\n
URL ist Hi, Mi, Tsu ♡\n
Freut mich, dich kennenzulernen:octocat:
"""

class Member(object):
	memberCount = 0
	def setMember(self):
		data = getJson()
		self.memberCount = len(data['channel']['members'])

def getJson():
	url = 'https://slack.com/api/channels.join'
	parameters = {
		'token' : slackbot_settings.API_TOKEN_TEAM,
		'name' : 'random'}
	r = requests.get(url, params = parameters)
	data = json.loads(r.text)
	mem = Member()
	if mem.memberCount == 0:
		mem.memberCount = len(data['channel']['members'])
	return data

def welcomePost(user):
	slack = Slacker(slackbot_settings.API_TOKEN)
	slack.chat.post_message(
		'@' + user,
		'Hi! ' + user + " " + welcomeMessage,
		as_user = True,
		link_names = 1
	)

if __name__ == '__main__':
	mem = Member()
	mem.setMember()
	while True:
		jsonChannel = getJson()
		if mem.memberCount < len(jsonChannel['channel']['members']):
			print(mem.memberCount)
			mem.memberCount = len(jsonChannel['channel']['members'])
			url = 'https://slack.com/api/users.info'
			parameters = {
				'token' : slackbot_settings.API_TOKEN_TEAM,
				'user' : jsonChannel['channel']['members'][0]}
			r_2 = requests.get(url, params = parameters)
			jsonUser = json.loads(r_2.text)
			welcomePost(jsonUser['user']['name'])

DAS ist geeignet.

slackbot_settings.py


API_TOKEN = 'xoxb-***********-************************'
API_TOKEN_TEAM = 'xoxp-***********-***********-***********-**********'

Was ist, wenn Sie es damit ausführen? ?? ??

スクリーンショット_2016-08-02_午後8_40_51.png

Es kam eine Nachricht zu mir (in der der Benutzer zum Testen direkt angegeben wurde), die in eine neue Person wie diese umgewandelt wurde! !! !!

Am Ende

Aus irgendeinem Grund steckte ich in einem Bein, bevor der Chatbot heiß wurde, aber warum versuchst du nicht einfach einen Slack BOT oder so?

スクリーンショット 2016-08-02 午後8.51.12.png

Recommended Posts

Senden Sie eine direkte Liebes-E-Mail an einen neuen Benutzer, wenn ein neuer Benutzer dem Slack-Team beitritt
Wie man eine Benutzergruppe mit Slack-Benachrichtigung erwähnt, wie man die ID einer Benutzergruppe überprüft
[Python] Wirf eine Nachricht an den Slack-Kanal
Senden Sie eine Push-Nachricht an LINE Bot, wenn die LTE-M-Taste gedrückt wird [SORACOM]
Ich möchte automatisch eine Unternehmensgründungs-E-Mail senden
So erstellen Sie eine neue Datei, wenn die angegebene Datei nicht vorhanden ist - schreiben Sie, wenn die Datei vorhanden ist
Code zum Senden von E-Mails basierend auf der Excel-E-Mail-Liste
Ändern Sie das Installationsziel, wenn --user zu pip hinzugefügt wird
Schreiben Sie ein Skript in Shell und Python, um Sie in Slack zu benachrichtigen, wenn der Vorgang abgeschlossen ist