I like it. Like Pheonike said this should wait until we have the lightweight client first. But here is how I would like to see this happen.
In my opinion, the goal shouldn't be to always rely on this Twitter bot for tipping people but rather to use it as a gateway to get people into our system using the easy to use lightweight clients in the browser and of course to advertise how easy it is to send money to people over the internet. After all, BitShares is going to sort of become its own reputation, identity, and social network system. We will even have the ability to send secure direct messages to one another eventually. Also, the average 5 second confirmation time and great scalability properties of DPOS means that we can use it for tipping without having to offload it onto an off-chain system that we then are forced to trust with some amount of our money for tipping purposes.
So I make the assumption in this plan that we have lightweight clients created, and in particular a lightweight client implementation in the browser that is easy to set up and start using. This client could also be optimized to link with your social networks and make it easy to pay the people in your social network even if they haven't yet set up an account on BitShares.
A BTS account would include any social network handles the user wants in their public account data on the blockchain, such as their Twitter handle or Facebook ID. This provides the link from the BTS account to the external social network account. But for someone to know both accounts are linked together, we require the link from the external social network account back to the BTS account. A semi-trusted social network bot would provide their signature linking the social network account back to the BTS account. The bot would be trusted to only provide this signature if they had verified that the owner of that social network account confirmed they also owned the particular BTS account. The bot could do this verification by for example requiring the verifying user to send the bot a DM with a unique session code and their BTS account name.
A person using the browser lightweight client could request from the bot the signature linking the social network account to a particular BTS account for a given social network account the person wants to look up. Then by checking that there is a link in the other direction on the blockchain by looking up the public data associated to the BTS account, the browser client knows which BTS account is associated to the particular social network account. They can then send secure messages to that BTS account or send them money directly without requiring a bot as a middleman (who will likely charge fees for their service).
However, if the recipient has not yet registered and linked a BTS account, there is no BTS account to send money to. In this case, the person who wants to send say a Twitter user money would instead have to send it to the BitShares Twitter bot along with an encrypted message via the lightweight client mail delivery system which describes what to do with the money. The message could include the Twitter handle of the recipient, the amount to send to them, a message to include with the transaction, and perhaps some other metadata. The amount sent to the bot would have to be large enough to pay for the amount the bot would have to eventually forward to the intended recipient as well an extra fee to pay the bot's cost (the transaction fee for the second transaction as well as operating costs). All of this will of course be done transparently for the user by the browser lightweight client that is designed to work with the BitShares Twitter bot (and other social network bots), and the user will only have to deal with a straightforward and easy-to-use GUI. The bot would store the money and the request, contact the Twitter user to inform them of a new transaction, and wait until the recipient set up a BTS account and linked it with their Twitter name before sending the appropriate amount of money to their BTS account with the appropriate message attached from the original sender. Depending on the metadata attached in the sender's encrypted message to the bot, the bot would create a public tweet stating either as little as someone sent some amount of money to you or as much as a specific user (BTS account and Twitter handle included) sent a specific amount of money (amount in BitAssets given) to you and also included this message (attached message likely included in separate website that is linked to from the tweet due to character constraints). In either case, the tweet would always include a short link that explains to the recipient how to set up their account to claim the money. Example tweet:
@twitter_recipient, BitShares user bts-sender (@twitter_sender) sent you 10.00 BitUSD.
Clicking on the link would take the user to a page that showed a more verbose version of the notification along with the optionally attached message by the sender. If they were signed in with their Twitter account on that website, they could potentially see more information about the message as well as other information about their account like all of the other funds sent to them that have yet to be claimed (and a history of funds received via the BitShares Twitter bot). The page would also always link to more information about BitShares as well as to a guide made specifically to assist the recipient or any user browsing to quickly set up and start using a BitShares account using the browser lightweight client or mobile app.