Crypto.Bot (telegram bot) features

Avis Kutuk
10 min readSep 7, 2020

--

cryptocurrency airdrops and donations / block-chain tipping bot for Telegram

How to wake up a crypto chat?

Here is an opportunity to share a real crypto-coin, thank, arrange a distribution of coins with or without reason, give a coin or two to the fastest fellow in the chat, or just participate with your coins in the lottery …

All this can be arranged directly in the telegram chat by means of the Crypto Bot.

The bot was created at the request of telegram chat users of one crypto project. People wanted to thank each other for helpful tips and advice with their favorite cryptocurrency. The bot gave such an opportunity — people liked it!

New functions gradually appeared, multilingualism and support for different crypto-coins were required. Now it is a full-fledged multi-crypto-currency wallet operating within the Telegram application.

The bot is free — take it and use it.

Opportunities:

✔️support the user (“tip”)
✔️“tip” several users at once
✔️give a gift (giveaway) to the first “comer” (who is the first to press the button under the post)
✔️make it rain (airdrop) for N random chat users
✔️arrange a distribution (airdrop) on the list (whitelist)
✔️arrange a giveaway for retweets
✔️participate in the weekly lottery
✔️staking (for CLO coins)
✔️banning “unwanted” users from receiving distributions (blacklist)
✔️multilingual bot messages (En, Ru, Fr, Vn)
✔️option to use bot commands only by chat admins
✔️customization of default values
✔️statistics for each chat

Features:

✔️non-custodial (the bot does not store coins “on its own”)
✔️all operations in the bot are direct transactions in the blockchain
✔️users have access to the private keys of their wallets in the bot
✔️the bot is free to use on a donationware basis
✔️since each operation goes through the blockchain — operations require a network-fee
✔️security of access to wallets is ensured by encryption of private keys (optional)

Supported coins:

✔️(ETH) Ethereum
✔️(ETC) Ethereum Classic
✔️(CLO) Callisto network
✔️(BTC) Bitcoin
✔️(LTC) Litecoin
✔️(BNB) Binance coin
✔️(NOW) NOW token
✔️(TWT) Trust wallet token
✔️(AWC) Atomic Wallet Coin
✔️Technical ability to support all ERC20 and BEP2 tokens, as well as ETC / ETH forks (via the web3.js library)

User guide

  1. Registration

To use the bot functions, you need to register in it. First, let’s move on to the dialogue with the bot: @Crypto_TheBot , press the START button (or send the /start command if there is no such button).

If this is the first communication with the bot, the “Register” button will be available — by clicking which the bot will generate wallet addresses for each of the supported coins.

Immediately after that, you can check the balance, if necessary, add coins to one or another wallet.

Interface language

At the moment, the bot can speak 4 languages (En, Ru, Fr, Vn). Language switching is performed in the bot menu: Settings-> Language (Settings-> Language). For each group chat, the language is configured separately by group administrators.

2. Depositing

Deposit addresses in the bot could be found in the Wallet-> Deposit menu. Choose a coin for deposit— you get the address (in text and in QRcode form) for transfer . Deposit speed depends on blockchain network state and other conditions not related to the operation of the bot.

3. Checking balance

If you have already sent coins to one of the bot’s wallets, you can check their receipt in the Wallet-> Balance menu.

You can check balance of a single coin and of all coins at once (this operation can be performed with a delay) — in second case only wallets with a non-zero balance will be displayed. When receiving transfers inside the bot (whether it will be “tips” or coins from the distribution (airdrop)) — the bot will notify you with a private message.

4. Tipping

So, you have coins on your balance in the bot. Now you can express your gratitude or respect to your chat companion. Go to the chat where the bot is registered and use the /tip command.

For example, I liked the message from @AJ. You can write in response to this his message

/tip 10 clo

and bot will send 10 CLO from your wallet to @AJ wallet.

Please note that since the bot works with “physical” transactions — a response about a successful operation will come only after the transaction will be commited to blockchain. You can also send coins to several users (each of them will receive the specified amount) by listing their usernames:

/tip 100 clo @cryptofun @luckyone @simplyluke

You can learn more about using the command from the bot itself by running the command in the general chat

/tip help

5. Receiving GiveAway

Or you can simply donate a certain amount of coins to anyone who wishes.

The /give (or /giveaway) command will create a post with “Claim” and “Cancel” buttons. Any user who sees this post can click the “Claim” button and the number of coins specified in the command will be transferred to his wallet from the initiator’s wallet.

The first person who presses the button will receive the coins. But the recipient must be registered within the bot (so that the bot knows where to transfer coins). Plus there is a limitation — each user in one chat can press the “Claim” button only once a day.

The initiator of the “giveaway” can change his mind and delete the post by clicking the “Cancel” button.

6. Receiving distributions (airdrop or rain)

Distribute / airdrop / rain — You can call this function differently, but they are the same. Whether the administration of the group would like to stir up its followers, or to celebrate the next achievement of the project, or maybe to reward followers for a certain activity — the distribution of a certain number of coins among users will come in handy. Or maybe someone just wanted to cheer up fellow members of the group — it’s time to make a rain of coins.

The rain will fall on random users of the group (among those registered in the bot) in the amount that will be indicated in the command. But do not be upset for those who do not get their piece of rain — the bot scrupulously takes into account the list of those on whom coins have already woken up, and for the next rain it will take those who have not yet received their “share”. When all members of the group have taken part in one or the next hand, the list is reset to zero and starts over.

Rain command: /rain or /airdrop.

For example, to distribute 10,000 clo among 200 users (in the group with the default CLO coin), you need to write:

/rain 10000 200

(the larger of the numbers is always taken as the value of coins to guarantee the condition that everyone receives at least 1 clo — for each coin the minimum value is individual, it can be viewed in the bot’s private menu in the Information-> Projects section)

Group members just need to be registered within the bot and be a member of the group in which the distribution is taking place.

Additional information on command execution is available with the help parameter:

/rain help

Note: (the help parameter works for all commands available in the bot).

7. Participation in distributions for retweets

A separate type of distribution / rain is aimed at increasing user activity in the projects’ twitter accounts.

A separate /rtrain command has been introduced for this. With its help, the bot is sent a link to the tweet and it is indicated how many retweets this tweet should get in order to rain. At the same time, the reward (airdrop) will be distributed only among those chat participants who linked their Twitter account in the bot and retweeted.

Linking a Twitter account is done in a private chat with a bot in the Settings-> Twitter name menu.

The bot makes sure that one Twitter account corresponds to only one telegram account, in order to avoid cheating.

It is also worth noting that for one tweet, several retweet goals can be specified, upon reaching each of which the distribution will be carried out. Those who will be one of the first to retweet (before reaching the first goal) will be able to get up to 4 drops from one retweet.

8. Withdrawal of funds

Sending funds from a bot to a third-party wallet or exchange is very easy. Enter a private chat with the bot, go to the Wallet-> Withdraw menu.

Next, select a coin and specify the address for withdrawal. The bot remembers the withdrawal addresses and will offer them for subsequent withdrawals.

If password protection or key encryption is set, a user password will be requested before withdrawal (see the next paragraph).

9. Protection and security

To protect your funds from outside interference, the bot provides 2 security levels.

a) Password protection — works only when withdrawing funds to external wallets. Doesn’t protect private keys in case of a bot’s database leak, and it doesn’t interfere in funds sending inside the bot (via tip, give, rain …. commands)

b) Private keys encryption — higher security protection against external interference (as well as insurance against DB leakage or in case of loss of a smartphone). If the user encrypted private keys and forgot his password, it will be impossible to restore access to his wallets. Also, when encrypting keys, the user will need to enter a password in the bot to perform transfer operations inside the bot (tip, give, rain, pot …). Entering a password will unlock wallets for 1 hour.

Protection can be activated in the bot menu Settings-> Security.

10. Weekly lottery

An additional opportunity to earn / spend your funds inside the bot is participation in lotteries. Each coin has its own lottery. The chat administration has the ability to prohibit lottery features in their chats if it is contrary to their policy.

The cost of participation in the lottery is fixed — for each coin it can be found in the bot section Information-> Projects. But the number of lottery tickets that one user can purchase is not limited. The more tickets, the greater the chance of winning. 10% of each lottery goes to the project support fund, the remaining funds are divided into 3 parts (three winners) in a ratio of 70% / 20% / 10%. The draw is held on Fridays.

You can see how much is at stake now, as well as get additional information by sending the /pot command to the chat. The same command can be used to purchase lottery tickets (see the help command with the help key). An easier way to buy tickets is to click the button below the message with lottery statistics.

11. Invest coins at interest (Staking)

The function of sending your funds to a special smart contract to receive interest income deserves a separate consideration. Such functionality in the bot is available for the CLO coin. The function was originally created to a greater extent to demonstrate the possibilities of earning money with the Callisto project coins.

The function is available in the private chat of the bot in the Wallet-> Cold Staking menu. By sending coins to the Cold Staking smart contract, the user freezes these coins for 27 days (these coins will be unavailable until this period expires). When this period ends, the user has the opportunity to return their coins along with the reward, receive only the reward (at the time of writing the manual, the reward was just under 1% in 27 days) or leave everything as it is for a new round.

12. Supported projects

Basic information on projects, whose crypto-coins are presented in the bot, is available in the bot menu Information-> Projects. There you can also see the minimum values for different bot’s operations.

13. Contact bot’s authors (comments, requests, suggestions)

To contact the bot authors in the Information section, there is a Contact button. Use it to request support directly through the bot interface.

You can also ask your question or write a proposal in the support chat: https://t.me/CryptoTheBot_support

14. For admins

For the bot to work in chats, it must be added to the list of users by one of the administrators.

In order for the bot to be able to delete messages with user commands (so the chat does not get littered), the bot should be given administrator rights.

It is also advisable to carry out the initial configuration of the bot in the chat (specify the localization, set the default coin, etc.) — the /help command executed by the administrator will show available configuration commands.

— — — — — — —

p.s.: The project is written in Node JS (Telegraf) using Telegram Bot API .

The source code for the fork of the first version of the bot is available at: TWTtipBot on GitHub

--

--