Bounty for Telegram Bot [LOCKED] ๐Ÿ”’

  A Grin Tipping bot for Telegram for **10,000 ใƒ„

This bounty locked for @renzokuken. Good luck :smiley: :+1:
Proposal for the ใƒ„ GRIN Telegram tipping bot.

7 Likes

Bounty updated to 2500$
In the Community Council meeting of the 29th of November on Keybase we vote in to update the bounty for the Telegram bot to 2500$ to be paid in BTC using a 1 month moving average. The motivation behind this change is that the bounty of
10,000 ใƒ„ does not longer represent the value that the CC had in mind for this bounty.
Find here record to the vote, later on @Neo also voted in favor, resulting in 7 in favor (of which 4 CC members) and one CC vote against updating the bounty.
keybase://chat/grincoin#general/64850

2 Likes

Is this still open and unassigned?

I have plenty of experience with building bots since, thatโ€™s where the context where i first started to program in the early days. This seems like a fine first contribution to GRIN, and Iโ€™d like to apply to fulfilling it.

1 Like

@renzokuken Do you plan to continu work on this bounty? I think a lot if work has been done already right?

1 Like

I have plenty of experience of working with unloved code, so could pick up where it was left off if applicable.

2 years is a long time for an open bounty, alternatively if there is anything other tasks open feel free to let me know!

3 Likes

@Anynomous thanks for asking, I donโ€™t think I will have time for it and until my own implementation is done I pause all the ใƒ„ related work. I donโ€™t want to base any products on the core wallet.

@deomaius go ahead and take it over. My suggestion is to base your deposits on invoice-flow so that wallet user has only one step.

4 Likes

@deomaius
See @renzokuken progress thread and work he has done so far:

We will lock the bounty for you. Perhaps you can start your own progress thread.

2 Likes

@deomaius Iโ€™m happy to share my sources and logic design if itโ€™s helpful, unfortunately it was written before python-telegram-bot adopted coroutines so I donโ€™t think it can be directly used without rewriting.

2 Likes

@deomaius Are you involved in the implementation?

@deomaius any news about bounty?

1 Like

I started with the Telegram bot.

I have created a repo:

I also created a bot in Telegram.

The bot currently accepts commands and responds to them.
There is no logic stored yet.

Goal
Node (grincoin.org) API
grin-wallet (cli) API
Docker

6 Likes

Sorry for the lack of a reply, been quite busy, also I think perhaps I should tackle more critical development goal given the state of operations and my own constraints on time. I think with my background a telegram bot may be a misallocation of resources here, will look to contribute in another capacity.

Nice to get a start @wiesche, although personally Iโ€™d have some concerns about the state of telegram API integration with CPP bindings, in my opinion, although you may have a better grasp here. Personally Iโ€™d architect the bot API using less overhead and more continued support like in Python or JS. Execution and runtime will just be much smoother resulting in less hardware or server expenditures.

Nonetheless, if it works - it works :saluting_face:

1 Like

I have now implemented the first functionalities. Here is a small flowchart.

Only the donate functionality is currently implemented.
The transaction is triggered by sending a slatepack.
(GRIM)

5 GRIN

Send Slatepack (S1) to bot

you receive the finalize Slatepack (S2) (add to GRIM)

awaiting confirmations

The following steps are pending:

  • We (GGC) are currently testing the bot function
  • documentation
  • deployment
  • faucet
    • Define rules
    • Implement
5 Likes

I have further developed the generator.
I have implemented a DatabaseManager. This holds the transactions (Faucet, Donate).
The Faucet has also been implemented (2 Grin per day per user).

The following points are still outstanding:

  • deployment
  • documentation
  • returning the information of a successful transaction
  • testing

6 Likes

Reworked UI a bit, now only can select file for manual or open with the app (except MacOS):

3 Likes

Small update
I have implemented the following content:

  • rewindHash
  • scanRewindHash
  • docker and docker-compose
  • slatepack via files

Next steps

  • testing
  • deployment
5 Likes

Bot can now:

  • handling files
  • handling rewindhash
  • handling slatepacks
  • handling tor

Now refactoring code (api submodules)and i will implement the endpoints of the api from the contract branch.

1 Like

the bot is available in the following channels:

You can use the bot as follows.

Ways to donate:

  1. Send plain Slatepack (send)

  2. Send Slatepack file (ends with .S1.slatepack)

  3. Tor

Ways to use faucet:

  1. Send plain Slatepack (receive)

  2. Send Slatepack file (ends with .I1.slatepack)

==================================================================

Update 29.07.2025

These are the next points I will implement:

  • Feedback upon successful transaction
  • process_invoice_tx
    selection_strategy_is_use_all is currently still set to true, I still need to set this to false, otherwise everything will be locked at the moment.
  • Tradeogre API (price, chart, balance (calculated) in USDT and BTC)
    • price
    • chart
    • orderbook
    • history
  • Implementation of Alexanderโ€™s (Bruges) idea (tipping function off-chain)
    • Deposits
    • Withdrawals
    • Tipping
  • Implementation of BlackJack for fun with stakes
  • Current donate/faucet function remains in a separate wallet
    • This wallet should then be the GGC wallet. For this reason, I suggest transferring the remaining Grin. A Rewind_hash can already be retrieved.
5 Likes