# Migration from twitter to Mastodon

**URL:** <https://discourse.nodered.org/t/migration-from-twitter-to-mastodon/74959>\
**Category:** General\
**Created:** [9 February 2023 18:46 UTC](https://discourse.nodered.org/t/migration-from-twitter-to-mastodon/74959 "2023-02-09T18:46:35Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![cymplecy](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/cymplecy/32/2773_2.png) [@cymplecy](https://discourse.nodered.org/u/cymplecy)\
**Post date:** [10 February 2023 11:29 UTC](https://discourse.nodered.org/t/migration-from-twitter-to-mastodon/74959/5 "2023-02-10T11:29:11Z")

</div>

Ignoring all my rambling above - this flow will get the last 20 status from  
`@nodes@social.nodered.org`  
🙂

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/f/bf9743ca4f233b836f8e82d768ab630c51d31df1.png)

```auto
[{"id":"f8763c2e1614896a","type":"function","z":"515cba3a2d3cfa9b","name":"function 1","func":"var oldPayload, newPayload, i2;\n\n\noldPayload = (msg['payload']);\nnewPayload = [];\nfor (i2 = 1; i2 <= 20; i2++) {\n newPayload.push(((oldPayload[(i2 - 1)])['description'])[0]);\n}\nmsg['payload'] = newPayload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":730,"y":700,"wires":[["dda1f3b644540cbc"]]},{"id":"01f38c57d51105fe","type":"inject","z":"515cba3a2d3cfa9b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":150,"y":700,"wires":[["df5600641d01ef91"]]},{"id":"dda1f3b644540cbc","type":"debug","z":"515cba3a2d3cfa9b","name":"debug 44","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":870,"y":700,"wires":[]},{"id":"df5600641d01ef91","type":"http request","z":"515cba3a2d3cfa9b","name":"rss","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://social.nodered.org/@nodes.rss","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":290,"y":700,"wires":[["689c06a9383b6398"]]},{"id":"689c06a9383b6398","type":"xml","z":"515cba3a2d3cfa9b","name":"","property":"payload","attr":"","chr":"","x":420,"y":700,"wires":[["49d83156e6778928"]]},{"id":"49d83156e6778928","type":"change","z":"515cba3a2d3cfa9b","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.rss.channel[0].item","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":700,"wires":[["f8763c2e1614896a"]]}]

```

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/6/06b59540ce74ddbc8d8b3525049ac34301145700.png)

And to search for #tags

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/2/72b91457361e4745ad8f4656e58f0995b07b72fd.png)

```auto
[{"id":"ae5da2d05ddd9d45","type":"inject","z":"515cba3a2d3cfa9b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"NodeRED","payloadType":"str","x":120,"y":840,"wires":[["0bfd84a6b2e93ca6"]]},{"id":"a3d1ad7a1715db26","type":"http request","z":"515cba3a2d3cfa9b","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"credentials":{},"x":480,"y":840,"wires":[["1983128f338848bb"]]},{"id":"0d00de4fbc88c282","type":"debug","z":"515cba3a2d3cfa9b","name":"debug 46","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":860,"y":840,"wires":[]},{"id":"0bfd84a6b2e93ca6","type":"template","z":"515cba3a2d3cfa9b","name":"","field":"url","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"https://botsin.space/api/v1/timelines/tag/{{payload}}","output":"str","x":270,"y":840,"wires":[["a3d1ad7a1715db26"]]},{"id":"1983128f338848bb","type":"function","z":"515cba3a2d3cfa9b","name":"function 2","func":"var oldPayload, newPayload, i2;\n\n\noldPayload = (msg['payload']);\nnewPayload = [];\nfor (i2 = 1; i2 <= 20; i2++) {\n newPayload.push(((oldPayload[(i2 - 1)])['content']));\n}\nmsg['payload'] = newPayload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":660,"y":840,"wires":[["0d00de4fbc88c282"]]}]

```

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/f/9f6758b31e7192cf0520bed26291158749c19b6d.png)

And for completeness sake to remove any need for node-red-contrib-mastodon, you can use this to post from your bot - just add in your own token (and change the injected msg.payload)

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/9/d908b6270c4530b60b4cefd8535abcea6feaec99.png)

```auto
[{"id":"d32f54d3569d2c58","type":"inject","z":"515cba3a2d3cfa9b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"status=@cymplecy@fosstodon.org test from Node-RED! ","payloadType":"str","x":240,"y":1210,"wires":[["3abdfcbbe39e55dd"]]},{"id":"e3ac11c9ade30dc7","type":"debug","z":"515cba3a2d3cfa9b","name":"debug 50","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":630,"y":1210,"wires":[]},{"id":"3abdfcbbe39e55dd","type":"http request","z":"515cba3a2d3cfa9b","name":"","method":"POST","ret":"txt","paytoqs":"query","url":"https://botsin.space/api/v1/statuses","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"bearer","senderr":false,"headers":[{"keyType":"other","keyValue":"Content-Type","valueType":"other","valueValue":"application/x-www-form-urlencoded"}],"credentials":{},"x":430,"y":1210,"wires":[["e3ac11c9ade30dc7"]]}]

```

---

_[View the full topic](https://discourse.nodered.org/t/migration-from-twitter-to-mastodon/74959)._
