Receiver
Populates a queue of incoming messages to be processed
follow this tutorial, it's the only one I've gotten (almost) working. I had a permissions issue and am waiting for a key
https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/guides/twitter-account-activity-tutorial-autohook
recent update on the messaging api
https://developer.twitter.com/en/docs/direct-messages/sending-and-receiving/guides/direct-message-migration
account activity, the subscription actually necessary to get messages
https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/overview
Text messages
This can most easily be accomplished via Twillio, plugged into a web server, an API which would understand Twillio's request format.
Facebook Messenger
API endpoint
This would be very helpful in designing an MTurk front-end for trying out the chat bot.