Access control

Only administrator can use a newly created bot. In this way, you can keep your bot private until you're ready to make it public. You can also keep your bot private and invite customers by giving them a token. That's useful if you prefer to let only people you know use it.

  • Make the bot public and available to everybody, issue the command /cmd --no-access-control

  • To invite customers to your bot, create a single-use invitation codes by issuing the command /roletoken user. Your customers can then issue the command /role <token> to access the bot

A new bot rejects a non-admin or uninvited user
The administration custom keyboard

User and Admin modes

If you are an administrator of the bot, you can switch between the admin and the user views by typing /admin or /user (the leading slash is optional, simply admin and user will also work).

The user view shows you the custom keyboard that your customers will see and a the customer views of products and orders.

The admin view presents you a more complex keyboard, which you need to configure and maintain your Telegram e-shop.

Also, the visualisation of products and orders displays a different set of inline buttons for the admin and user views.

Create a product

To create your first product, click on the "new product" button (I guess you suspected it) or issue the /newproduct command.

You'll be prompted to input the product name and price. After doing that, the product is ready to be sold!

The default home currency is USD: Boteqa also supports the following currencies: EUR, GBP, CAD, JPY as well as XMR (Monero).

To change the home currency to, for example, EUR, use the following command: /cmd --currency EUR.

A new product is quickly created
Administrators's product-configuration inline keyboard

Configure a product

After creating a product, you can configure it further. To visualise a product's configuration keyboard, type in the chat the ID (SKU) of the product, which is a hash followed by the number 4. You can list all products and their SKUs by issuing the /listproducts command or clicking on the "list products" button in the custom keyboard. The buttons in a product's inline configuration keyboard are the following:

  • upload asset, to upload a product's photo, a video or a file (typically, a sample of a digital asset)

  • set description, a description of the product, in case the name does not convey enough information

  • set price, to change the price. The effect is immediate and will affect all orders that have not been payed or confirmed

  • set name, to change a product's name. The effect is immediate: it is advisable to disable (and so make unavailable) the product for 1 hour before changing its name, to avoid changing the name of products while they are in your customers' shopping carts.

  • update stock, update on order, set max quantity are advanced inventory-management features that will be described in another section of this documentation

  • disable, pauses the product and makes it unavailable

  • delete, deletes a product. Only disabled products can be deleted

User-view of a product configured with photo and description

Getting paid

You can enable a payment system, allow you customers to confirm their orders without paying (in which case you'll need to handle payments yourself) or both. Boteqa supports payments with Stripe and in XMR (Monero).

  • To allow your customers to confirm their orders issue the following command:
    /cmd --confirm-order
    To disable the possibility to conform orders:
    /cmd --no-confirm-order

  • To configure your bot to use Stripe, issue the following commands:
    /cmd --stripe-publishable-key <your publishable key>
    /cmd --stripe-secret-key <your secret key>. The configuration also requires setting a webhook in the Stripe dashboard and configuring the webhook secret, both procedures will be described in a separate section of this documentation.

  • To enable payments in Monero, issue the following command:
    /cmd --monero and use /cmd --no-monero to disable them
    Moneroj are kept in the Boteqa's wallet. You can transfer your Moneroj to your wallet by issuing the following command:
    /monero_tx <address> <amount>
    Boteqa runs a full Monero node, interacts with a local Monero wallet and creates a new address each time a shopping cart is checkout out. Please refer to the Wallet RPC documentation for any details regarding the inner working of the Monero wallet

À suivre

This documentation is far from being complete: we'll soon publish the section about the inventory-management features that allow to set, monitor and limit the number of items sold, in case of limited stock as well as the instructions about the configuration of a Stripe webhook and the related webhook secret

Boteqa is still in early beta: if you have any questions or you found a bug you'd like to tell us about, please get in touch with us on Telegram @boteqa