Node-RED:Библиотеки/node-red-node-twitter: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 4: | Строка 4: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=node-red-node-twitter= | =Модуль «node-red-node-twitter»<ref>[https://flows.nodered.org/node/node-red-node-twitter flows.nodered.org - node-red-node-email]</ref>= | ||
Эти ноды [[Node-RED]] предназначены для коммуникации с [[Twitter]]. | |||
[[Twitter API]] не обеспечивает доступ к 100% всех твитов. Кроме того, эти ноды не дают доступ к [[Twitter FireHouse]]. | |||
В твитах людей, на которых вы подписаны, будет также информация о ретвитах и лайках. | |||
== Установка == | |||
Запустите в пользовательской директории [[Node-RED]] (как правило это '''«~/.node-red»''') команду ниже: | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
npm install node-red-node-twitter | |||
</syntaxhighlight> | |||
== Использование == | |||
Одна нода предназначена для получения сообщений, а другая – для отправки. | |||
=== Нода «Twitter in» (для получения твитов) === | |||
Эту ноду можно использовать для поиска: | |||
* Публичных твитов или твитов от конкретного пользователя, содержащих заданное ключевое слово | |||
* Всех твитов от заданных пользователей | |||
* Личных сообщений, полученных залогинившимся пользователем | |||
При поиске по нескольким ключевым словам используйте пробелы для поиска типа '''«и»''' и запятые для поиска типа '''«или»'''. | |||
Эта нода сохраняет в свойство '''«msg.topic»''' значение '''«tweets/»''' плюс название аккаунта, используемое в [[URL]] ('''«screen_name»'''). | |||
Кроме того, она сохраняет в '''«msg.location»''' место, в котором был сделан твит (если известно). | |||
В свойство '''«msg.payload»''' сохраняются данные о [[Twitter-событии]]. Полный список смотрите [https://dev.twitter.com/streaming/overview/messages-types#Events_event тут]. | |||
В свойство '''«msg.tweet»''' сохраняется полный объект твита (более подробно читайте [https://dev.twitter.com/overview/api/tweets тут]). | |||
{{Спойлер|'''Примечание:''' Эта нода не подключена к [[FireHouse]], поэтому она не в состоянии вернуть все ''100% твитов'' по слишком ''«плодовитому»'' ID или хештегу.}} | |||
{{Спойлер|'''Примечание:''' Если в настройках ноды задан режим чтения твитов конкретного пользователя или прямых сообщений, нода '''«Twitter in»''' подпадает под ограничение скорости считывания данных [[Twitter API]]. Если вы выполните развертку потока много раз в течение 15 минут, то можете превысить это ограничение, в результате чего нода начнет выдавать ошибки. Но через 15 минут этот лимит будет обнулен.}} | |||
=== Нода «Twitter out» (для отправки твитов) === | |||
Твитит данные из свойства '''«msg.payload»'''. | |||
Чтобы отправить личное сообщение, в '''«msg.payload»''' должно быть примерно следующее: | |||
<syntaxhighlight lang="bash" enclose="div"> | |||
D {имя_пользователя} {сообщение} | |||
</syntaxhighlight> | |||
Если в сообщении есть свойство '''«msg.media»''' и в нем находится объект '''Buffer''', нода '''«Twitter out»''' воспримет его как изображение и приложит к твиту. | |||
Если в сообщении есть свойство '''«msg.params»''', и в нем находится объект с парой ''«ключ:значение»'', нода '''«Twitter out»''' воспримет его как параметры для запроса на публикацию нового твита. | |||
==Ноды== | ==Ноды== |
Версия от 19:42, 4 июня 2019
Модуль «node-red-node-twitter»[1]
Эти ноды Node-RED предназначены для коммуникации с Twitter.
Twitter API не обеспечивает доступ к 100% всех твитов. Кроме того, эти ноды не дают доступ к Twitter FireHouse.
В твитах людей, на которых вы подписаны, будет также информация о ретвитах и лайках.
Установка
Запустите в пользовательской директории Node-RED (как правило это «~/.node-red») команду ниже:
npm install node-red-node-twitter
Использование
Одна нода предназначена для получения сообщений, а другая – для отправки.
Нода «Twitter in» (для получения твитов)
Эту ноду можно использовать для поиска:
- Публичных твитов или твитов от конкретного пользователя, содержащих заданное ключевое слово
- Всех твитов от заданных пользователей
- Личных сообщений, полученных залогинившимся пользователем
При поиске по нескольким ключевым словам используйте пробелы для поиска типа «и» и запятые для поиска типа «или».
Эта нода сохраняет в свойство «msg.topic» значение «tweets/» плюс название аккаунта, используемое в URL («screen_name»).
Кроме того, она сохраняет в «msg.location» место, в котором был сделан твит (если известно).
В свойство «msg.payload» сохраняются данные о Twitter-событии. Полный список смотрите тут.
В свойство «msg.tweet» сохраняется полный объект твита (более подробно читайте тут).
Примечание: Эта нода не подключена к FireHouse, поэтому она не в состоянии вернуть все 100% твитов по слишком «плодовитому» ID или хештегу. |
Примечание: Если в настройках ноды задан режим чтения твитов конкретного пользователя или прямых сообщений, нода «Twitter in» подпадает под ограничение скорости считывания данных Twitter API. Если вы выполните развертку потока много раз в течение 15 минут, то можете превысить это ограничение, в результате чего нода начнет выдавать ошибки. Но через 15 минут этот лимит будет обнулен. |
Нода «Twitter out» (для отправки твитов)
Твитит данные из свойства «msg.payload».
Чтобы отправить личное сообщение, в «msg.payload» должно быть примерно следующее:
D {имя_пользователя} {сообщение}
Если в сообщении есть свойство «msg.media» и в нем находится объект Buffer, нода «Twitter out» воспримет его как изображение и приложит к твиту.
Если в сообщении есть свойство «msg.params», и в нем находится объект с парой «ключ:значение», нода «Twitter out» воспримет его как параметры для запроса на публикацию нового твита.