My ultimate project is to build a bot in Slack that can query multiple databases / info sources across various machines.
I started off by making sure that my Slackbot works locally. Using Python, I wrote something where you can ask the bot a question, for example "What is the number of files in folder X," and the bot will query my local files and return the answer.
Now I am trying to make it so the bot can query non-local databases, for example an Oracle database, and then also using Elasticsearch to query a database in AWS. I think my querying program will be a daemon that just waits for requests from the Slackbot, but I don't know the best way to receive requests. My current ideas are:
1. SSH, but I think SSH is more for when the user is actively sitting at the computer, rather than for a daemon.
2. Someone recommended I look into putting the Slackbot and my querying program on a web server such as Apache. And then Slackbot sends stuff to my querying program in JSON using HTTPS over the Apache server.
3. cURL. I know cURL is built to work without needing user interaction, and cURL also supports many types of info transfer such as DICT, HTTPS, IMPA, etc. Which may be ideal considering my end project will ultimately be querying from multiple sources (Oracle database, database in AWS), and also be taking in input from many sources (many different users in different locations querying the Slackbot, and then my Slackbot code receiving that info, and sending to my querying program).
tldr: Have a Slackbot that works locally, want to know the best way to have the Slackbot program send requests to my querying program, and the best way for my querying program to access info like Oracle databases, AWS databases that are searched using Elasticsearch, etc.
Without deviation from the norm, progress is not possible - Zappa. Tiny ad: