Admin Commands (Walkthrough)

alternative


Start



This is the message all users get on start



Managing Products & FAQ



Deleting a Product



Command: /delproduct ITEM_ID

Delete a product from catalog with it's item id. Pending/processing orders for this product will remain open.



Adding a Product


Without an auto delivery message


With auto delivery


Command: /addproduct "TITLE" "DESCRIPTION" "IMG_URL" PRICE_USD QUANTITY ("delivery link/code/etc (if digital product and delivery doesn't change)")

Add product to your catalog. A quantity of -1 means infinite. Price and quantity values can only contain numbers. If the product is digital, but delivery changes, the delivery link/code/etc. can be provided by you via /verify. If the product isn't digital, the customer will be prompted to provide whatever form of address you've specified in the product description. House address, email, etc. You can always deliver the product via /finish after payment is verified either manually or automatically.

See Verify for how automatic and manual deliveries are processed



Set Product Quantity



Command: /setquantity ITEM_ID QUANTITY

Set the quantity of an existing product. -1 means infinite.



Editing a Product



Command: /editproduct ITEM_ID "TITLE" "DESCRIPTION" "IMG_URL" PRICE_USD QUANTITY ("delivery link/code/etc (if digital product and delivery doesn't change)")

Use dashes "-" to leave that product attribute the same. Ex: /editproduct 123 - "new description" - - 100 "new delivery link". This command would leave the title, image url, and price the same while changing the description, quantity, and automatic delivery content.



Broadcast a Message



Command: /broadcast "MESSAGE"

Broadcast message to all bot contacts



Add an FAQ Entry



Command: /addfaq "QUESTION" "ANSWER"

Add a question and answer pair to your FAQ



Edit an FAQ Entry


Editing only the answer


Editing both the question and answer


Command: /editfaq FAQ_ID "Q" "A"

Edit a FAQ entry. Use a dash "-" in place of the Q or A arguments to keep them the same.
Ex: /editfaq 1 - "new answer" - Edits the answer of the FAQ entry numbered 1 but not the question.



Delete an FAQ Entry



Command: /delfaq FAQ_ID

Delete a QA pair from the FAQ with its FAQ number



Add a Payment Method



Command: /addpaymethod NAME ADDRESS

Add a payment method. The method must support some kind of transaction message/memo so that the customer can provide their order number and product id for you to verify the payment

Remove a payment method: /delpaymethod NAME



Receiving & Processing Orders (Customer & Admin Perspective)



Receiving an Order


(User Perspective) User orders a product with manual delivery with BTC (Automatically verified)


(Admin Perspective)


(User Perspective) User links their address to their order


Receiving an order



View Order Information



Command: /orderinfo ORDER_ID

Get information about an order. Includes custom username, item id and quantity (unless cart), payment method and address (if required and already provided)



Finish & Archive an Order



Command: /finish ORDER_ID ("MESSAGE")

Finally close an order after delivery. The message, if any, will be delivered to the customer and the order will be archived.



Verifying Payment


(User Perspective) Ordering a product with auto deliver using an alternative payment method (Not BTC)


(Admin Perspective) Providing a delivery message with /verify


(Admin Perspective) Verifying a payment without providing a delivery message (Used when you've set an auto delivery message or the user needs to provide an address)


(User Perspective) Receiving an automatic delivery


Command: /verify TXID ("DELIVERY MESSAGE")

Verify that you have received the payment for a transaction and optionally deliver the product if digital. Otherwise, the user will get a message prompting them to provide a delivery address.



Receiving & Processing Support Requests (Customer & Admin Perspective)



Receiving a Support Ticket


(User Perspective) Creating a support ticket and being responded to


Receiving a Support Request



Responding to a Ticket




Command: /resupport SUPPORT_TICKET_ID

Notify user who opened support request that they should look for a chat from your username for support. If responding to a refund request, and the pay method was BTC, you should make sure the transaction is now confirmed or, at the very least, that it was sent with a large enough miner fee to confirm in a reasonable amount of time. You can use /orderinfo to see the btc address the customer was given to use.



Deleting a Ticket




Command: /delsupport SUPPORT_TICKET_ID

Delete any support ticket



Blacklisting Users



View your blacklist & Blacklisting a User




Commands:
/blacklist
/addblacklist UID HOURS:MIN:SEC

View the blacklist and blacklist a user for a certain amount of time.



Removing From Blacklist




Command: /delblacklist UID

Remove a user from the blacklist.



Managing Admins



View Admins & Adding an Admin


(User Perspective) Creating a support ticket and being responded to



Commands:
/admins
/addadmin UID

View the list of admins and add a user (MUST have a chat history with bot) to admins. Having over 3 admins is not recommended. This is because of Telegram's message rate limits. User actions like new/canceled orders, support tickets, payment verifications are broadcast to all admins.



Setting a Main Admin




Command: /setmainadmin UID

Give an admin highest permissions; the ability to add/delete other admins and withdraw BTC funds.



Removing an Admin


(Main Admin Perspective) Removing and replacing themself (and their status as main admin) with another admin



Command: /deladmin UID

Remove a user from admins



More Commands


/nickhistory UID


Lists the previous usernames a user has had while using the bot. This list is in order of the username changes, not the most recent changes. If a user changes their username back to a previous one, it will still show as an old username.


/processing


Displays the orders that are currently in the processing queue. Processing means their payment has been verified. There is no way to list all pending orders (pre-payment verification orders).


/openorders (UID)


Shows you the order IDs for the orders a user has opened. You can view your own open orders by using the command without a UID argument (Ex: /openorders). The number of open orders can be changed with /setmaxorders, though it is not recommended.


/setmaxorders NUMBER


Set the maximum number of orders a user can have open. The default is 3 and it is not recommended to change this number. A high number could enable spammers and your maximum monthly order count to be reached quickly. Purchasing multiple products at once is done with the cart system (/cart).


/balance


Displays your BTC balance


/withdraw ADDRESS (FEE)


This cannot be undone. Withdraw your BTC balance to an address. This will automatically use recommended fees (from https://api.blockchain.info/mempool/fees) based on current BTC network activity if you do not pass an amount for a fee.



Frequently Asked Questions


Do you store any user data?

The only user data we store are usernames. Addresses provided by users for delivery are only relayed to admins for processing, they are not saved.

Can I force users to use a certain payment method for a specific product?

You can only require them to use a certain method in your FAQ or the product's description or title. You can cancel orders that don't comply. There is no way to force it right now.

Can I export order information to Excel?

This feature is difficult to implement because we do not store user addresses. We may implement a feature that can do this in the future, but it will have to generate the list from your chat history with the bot (as an admin).

How often should I withdraw my BTC?

We recommend reasonably frequent withdrawals.

Can I protect the information customers provide from Telegram?

Telegram already advertises as encrypted end-to-end. However, if you don't trust them, you can provide your GPG/PGP public key in your FAQ for customers to encrypt their information with and decrypt it on your end.