I need someone to write the OpenChat from start to end as I don’t have the resources.
It would certainly be very nice to see an OpenChat doing the same thing. But I am wondering what the purpose is. The goal of a Telegram bot is attract new users to the IC by introducing frontend hosting to them. There is a large user base and we make it easy for them by using Telegram as a payment rail. Those users may have tokens, especially USDT, in their Telegram wallet or TON Space. They can get started with a canister without touching ICP or cycles.
OpenChat users are are completely different group. They already have ICP native tokens. And I don’t see the benefit of a bot interface either. It would be easier to manage your canisters from a web app. Kind of a GUI version of dfx where you log in with II.
Hostybot was able to lower the price for a new asset canister to 0.6 TC.
Previously, 0.8 TC was required to create a new canister and to install the asset canister into it. The new asset canister had an initial balance of 0.3 TC.
We found a way to reduce this to 0.6 TC which leaves the asset canister with an initial balance of 0.1 TC. For context, what can be done with a balance of 0.1 TC? You cannot upgrade the canister but you don’t need to because the asset canister is already installed. All you need to do is call the canister to upload assets. 0.1 TC allows you to host a 10 MB frontend for 1 year. This includes an initial upload of 1k files of 10 kB each plus one re-upload, i.e. a change of all files, at some time during the year.
We believe that reducing the upfront cost as much as possible, even if only by 30 cents, is important to attract first time users. And hosting 10 MB for one year is enough for experimentation. The canister can easily be topped up later from within the Telegram chat when the user needs it.
Note that dfx deploy, the command used for uploading assets, may decide to upgrade the asset canister code on top of uploading assets into it. That upgrade will fail with a low balance. Hence the --no-asset-upgrade is needed. You should always upload your assets with the command
That will prevent any unnecessary canister upgrades. If you absolutely want dfx to upgrade the asset canister then run it without the option but top up the canister to at least 0.31 TC before.
For more context: The dfx canister create command by default uses 3.5 TC and leaves an initial balance of 3 TC in the new canister. That can be reduced with the --with-cycles argument.