@@ -0,0 +1,80 @@
2+title = "Cypherscope Bot"
5+grant_type = ["Proposal"]
6+grant_category = ["App Dev: Other"]
9+description = "On-demand financial charts chat bot"
11+assignee = "~mitten-dapper, ~ristyc-ridwyx"
18+## Cyperscope Bot - an on-demand financial charts chat bot
20+Urbit chat bot that provides on-demand financial charts based on [this bot](https://www.alphabotsystem.com/guide/charting)
22+We expect to have a Ship or a Moon for our bot that answers incoming commands by replying with a chart image queried from the TradingView API.
26+- User queries our bot by typing a command into chat like “chart btcusd 1h”.
28+ -- Command parameters include ticker, timeframe (optional), candle type (optional), indicators (optional).
29+ -- We’ll attempt to match AlphaBot’s available parameters (at the bottom of [this page](https://www.alphabotsystem.com/guide/charting).
30+ -- More command parameters will potentially be added based on time constraints and feasibility.
32+- Chatbot framework relays message to our bot (Cypherscope ship).
34+ -- [Chatbot framework](https://github.com/robkorn/urbit-chatbot-framework)
36+ -- Our bot is ideally a chat participant.
38+ -- If our bot does not understand the command, return a helpful error message.
40+- Bot parses the command and queries TradingView API for a chart.
42+- Bot sends a message in chat with the chart image.
44+ -- The images may be hosted on our ship. This part is a little unclear as of now.
46+ -- The chart should have a consistent and unobtrusive size every time. TradingView API might already handle this.
48+ -- Users should be able to delete the chart from the chat to avoid disrupting the flow of conversation.
52+For transparency we have the following open questions and will dive deeper to resolve them:
54+- Where are images hosted and for what time period?
56+- How should the hardware running the ship be paid for?
58+ -- If this project catches on we could add a paid tier with more features, accepting payment in crypto to our bot’s ship.
60+- How should the TradingView chart API be paid for?
64+Milestone 1: Bot prototype + Moon deployment
66+Estimated completion: 2 week
70+Create chatbot that responds to incoming messages in the format of "c {ticker} {time interval}" and return a chart image with relevant financial data. The bot should fetch data for any asset supported by TradingView API, such as stocks, crypto, forex, or metals. Deploy this prototype bot to a Moon.
72+Modify the chatbot framework we're using so that our Moon reacts when it is added to a new chat. When added, the bot displays a welcome message + menu. Add "c help" command for a full list of the bot's features. Ensure improper inputs like "c nonexistentTicker" returns a helpful error message.
74+### Milestone 2: Accept payments
76+Estimated completion: 2 weeks
80+Allow bot to accept payment to the Moon it is hosted on to pay for upgraded features. Create chat interface so users of our bot can upgrade or downgrade seamlessly.