Ergänzung zum vorherigen Artikel "[Move LINE Bot in Python (Flask) implementiert" ohne Verwendung von Heroku "(https://qiita.com/hiro0236/items/84581c5e4481185d4a5c)". In der Vergangenheit beschränkte sich das Senden von Nachrichten an Benutzer mit dem kostenlosen LINE Bot-Plan darauf, auf von Benutzern gesendete Nachrichten zu antworten. Ich konnte die PUSH-API nicht zum Senden einer Nachricht an den Benutzer verwenden, aber bevor ich es wusste, konnte ich die PUSH-API auch mit dem kostenlosen Plan verwenden. Infolgedessen hat sich das Entwicklungsspektrum auch mit dem kostenlosen Plan erweitert, sodass wir untersuchen werden, wie er verwendet werden kann.
Nach einer Untersuchung scheint es eine Ankündigung wie diese des LINE-Beamten gegeben zu haben. Es scheint, dass die PUSH-API ab etwa Juni 2019 auch im kostenlosen Plan verwendet werden kann. Es gibt jedoch ein Limit von 1.000 pro Monat **. Ein Dienst mit mehr als 100 Benutzern scheint schwierig zu sein, aber wenn er in einige zehn Personen passt (abhängig von der Anwendung), scheint er ausreichend zu sein.
In jedem Fall besteht kein Zweifel daran, dass sich das Entwicklungsspektrum für Ingenieure, die mit einem kostenlosen Plan entwickeln, erheblich erweitert hat.
[Offizielle Referenz] Nach () gibt es die folgenden vier Typen.
Sie können die LINE-API direkt mit Curl usw. aufrufen, aber da ich im vorherigen Artikel line-bot-sdk-python installiert habe Ich werde Code schreiben, um eine Push-Nachricht in Python zu senden. Implementieren Sie beim Lesen von Implementierung von line-bot-sdk-python.
Da es sich um eine Fortsetzung des vorherigen Artikels handelt, gehen wir davon aus, dass Line-Bot-SDK usw. bereits eingeführt wurden.
Dies kann mit dem folgenden Code realisiert werden. Wenn Sie nur eine Nachricht senden, können Sie diese einfach wie folgt implementieren.
push.py
from linebot import LineBotApi
from linebot.models import TextSendMessage
CHANNEL_ACCESS_TOKEN = "Kanalzugriffstoken festlegen"
line_bot_api = LineBotApi(CHANNEL_ACCESS_TOKEN)
def main():
to = "Geben Sie die Benutzer-ID an"
messages = TextSendMessage(text="Push-Benachrichtigungstest")
line_bot_api.push_message(to, messages=messages)
if __name__ == "__main__":
main()
Als ich es ausführte, wurde eine Nachricht von Bot wie folgt gesendet.
Ich sende Nachrichten an mehrere Benutzer, da ich nur ein LINE-Konto habe Ich konnte nicht bestätigen, ob es an mehrere Personen gesendet wird.
multicast.py
from linebot import LineBotApi
from linebot.models import TextSendMessage
CHANNEL_ACCESS_TOKEN = "Kanalzugriffstoken festlegen"
line_bot_api = LineBotApi(CHANNEL_ACCESS_TOKEN)
def main():
to = ["Geben Sie die Benutzer-ID an, die als Listentyp gesendet werden soll"]
messages = TextSendMessage(text="Multiplikatortest")
line_bot_api.multicast(to, messages=messages)
if __name__ == "__main__":
main()
Ich habe nicht wenig verstanden. Es scheint, dass es durch das Alter und Geschlecht des Benutzers eingegrenzt wird, aber es ist unklar, wie Alter und Geschlecht als eindeutige Informationen des Benutzers festgelegt werden. Sie können diese Informationen auch erhalten, indem Sie versuchen, Ihr Profil mit [API zum Abrufen des Benutzerprofils] abzurufen (https://developers.line.biz/ja/reference/messaging-api/#get-profile). Zu. Als zukünftige Ausgabe werde ich etwas mehr untersuchen.
Ich sende eine Nachricht an alle Freunde von Bot, bin mir aber immer noch nicht sicher, weil ich der einzige Bot-Freund bin.
broadcast.py
from linebot import LineBotApi
from linebot.models import TextSendMessage
CHANNEL_ACCESS_TOKEN = "Kanalzugriffstoken festlegen"
line_bot_api = LineBotApi(CHANNEL_ACCESS_TOKEN)
def main():
messages = TextSendMessage(text="Broadcast-Test")
line_bot_api.broadcast(messages=messages)
if __name__ == "__main__":
main()
Neben Textnachrichten unterstützt line-bot-sdk-python auch das Senden von Stempeln und Bildern. Ich habe diesmal nur Stempel und Bilder überprüft, aber soweit ich die Implementierung sehen kann Es scheint, dass auch Standortinformationen usw. gesendet werden können
Unter hier finden Sie die package_id und sticker_id, die zur Angabe des Stempels erforderlich sind. Betrachtet man die offiziellen Konten von Unternehmen, so scheinen einige Briefmarken in Briefmarkengeschäften verkauft zu werden. Es ist nicht bekannt, wie dies erreicht wird. Untersuchen Sie etwas mehr.
push_sticker.py
from linebot import LineBotApi
from linebot.models import StickerSendMessage
CHANNEL_ACCESS_TOKEN = "Kanalzugriffstoken festlegen"
line_bot_api = LineBotApi(CHANNEL_ACCESS_TOKEN)
def main():
to = "Geben Sie die Benutzer-ID an"
messages = StickerSendMessage(package_id='11537', sticker_id='52002734')
line_bot_api.push_message(to, messages=messages)
if __name__ == "__main__":
main()
push_image.py
from linebot import LineBotApi
from linebot.models import ImageSendMessage
CHANNEL_ACCESS_TOKEN = "Kanalzugriffstoken festlegen"
line_bot_api = LineBotApi(CHANNEL_ACCESS_TOKEN)
def main():
to = "Geben Sie die Benutzer-ID an"
messages = ImageSendMessage(original_content_url="https://pbs.twimg.com/profile_images/1201406146822557696/ewFFvnAa_400x400.jpg ", preview_image_url="https://pbs.twimg.com/profile_images/1201406146822557696/ewFFvnAa_400x400.jpg ")
line_bot_api.push_message(to, messages=messages)
if __name__ == "__main__":
main()
Im vorherigen Artikel habe ich einen neuen Artikel über meine persönlichen zukünftigen Probleme geschrieben, aber es sind wieder neue Probleme aufgetaucht. Darüber hinaus werden wir den Artikel aktualisieren oder im Verlauf der Untersuchung einen neuen Artikel erstellen.
Ich würde mich freuen, wenn Sie mich wissen lassen könnten, ob die von mir bereitgestellten Informationen fehlerhaft sind.
Recommended Posts