Telegram Bot: Transcoder-Watcher

#1

Over the past few days, I’ve been further developing the Transcoder Watcher Bot running in my 0x525 Transcoder Telegram Channel. It was my goal to create a tool that everyone can use to get notified about transcoder events and here it is:

The Telegram Transcoder-Watcher Bot!
You can find the bot here: https://t.me/TranscoderWatcher_bot

What does it do?
By writing “/start”, the bot will give you an introduction and informs about the available commands:

If you subscribe to a transcoder (or multiple, there is no limit), you will get notified about the following events:

  • reward calls
  • missing reward calls
  • reward cut changes
  • transcoder becomes inactive

Whenever possible, I include the transaction link so you can be sure that no incorrect information is sent. However, please note that the bot is still in the testing phase and of course it’s always possible that the script crashes and the bot stops working.

How does it look like?

Here are some screenshots for the various events.
- Reward Calls:

image
- Missing Reward Calls:

image
- Reward Cut changes:

image
image
- Transcoder becomes inactive:

image

If you discover any error or have feature requests, you can reply here or send me a message on discord!

6 Likes

Transcoder Campaign: 0x525 - with Telegram Bot
#2

wow… very niceeee :heart_eyes:

0 Likes

#3

My gratitude for this tool. I’ve added the bot as an admin of my Chainflow Livepeer Transcoder telegram channel.

One question… Right now, the bot responds to every message I post in the channel with the list of commands. Is there any way to stop/disable these responses?

0 Likes

#4

Hey Chris, thanks for trying out my bot!
I already answered in your Telegram Channel but I’ll post it here again since other Transcoders might also want to use the bot in their group:

Don’t promote the bot to an admin, just add the bot as a normal user. To access the bots commands, you will need to use “/”+command (e.g. /subscribe 0xabc). So the bot will only respond to commands starting with a slash, this prevents the response to every message :slight_smile:

Thanks for pointing it out @chris-chainflow!

0 Likes

#5

Small update for the bot:

  • Fixed (hopefully) a bug where the same reward call notifications were sent multiple times

  • You will now get notified when a transcoder did not claim the rewards in the previous round:
    image

Also, I’m working on a feature that will let you check a transcoders reward cut changes and (missed) reward calls in the last 100 rounds. So that you can check the performance of a transcoder before you bond to it.

Thanks to all the users of the bot and for those that support me by bonding to my transcoder!

0 Likes

#6

New feature for the bot:
Get a transcoders reward cut changes & reward call history for the past 100 rounds

The reward cut is an important metric of a transcoder. One of the main goals of the Telegram Bot was to Increase transparency by notifying users when a transcoder changes its reward cut.
But something that a lot of stakers would like to know before they bond to a transcoder is its history: How often did the transcoder change its reward cut? How reliable did the transcoder claim the rewards in the past?

To answer those questions and to further increase the transparency for the stakers, I’ve added a “history” function to the bot. By sending “history” followed by the transcoder address, the bot will show you the reward cut changes and the reliability of the transcoder (in terms of its reward calls) for the past 100 rounds! As always, I’m including as many transaction links as possible - so you don’t have to trust me and can check the information the bot is providing for yourself.

Some screenshots:

  • image

  • image

  • image

Thanks to all the users of the bot and for those that support me by bonding to my transcoder!

If you get/find errors or get wrong information, please contact me here or on discord!

Some technical stuff for those who are interested:
Pulling 100 rounds (576’000 block) of data directly from the blockchain each time a user requests the history take a little bit too long. So I’ve done this for every active transcoder at round 1311. Since then, a script updates the history file with new data as soon as a round is over. Like this, the request are much faster and I also have a nice collection of transcoder history for some data analysis :slight_smile:

0 Likes

#7

Very nive i like …thanks

0 Likes

#8

Hey all, as you might have noticed, a bug occurred at the start of todays round. Wrong messages were sent saying that the transcoders did not claim the rewards during the last round.

Here’s what’s happened:
Through the web3py library, the script is listening for new round events. When such an event happens, the script first checks if every active transcoder did claim the rewards during the last round (through a “reward called” attribute that is set to “true” if after the reward call) and then resets the “reward called” attribute to “false” (since it’s a new round). Now there seems to be a bug in the web3py library (maybe caused through uncles in the blockchain) that causes an event to be fired multiple times. Today, the new round event was fired 3 times. So the first time, the script reset the reward called attribute to false for every transcoder. The second and third time, the script assumed that the transcoders did not claim the rewards since the attribute was set to false and there was a new round - so it sent the wrong messages.

I’ve implemented a fix in the script that should ignore those incorrect, multiple events.

Nevertheless, if you see a weird/unexpected message or value, please always double check by looking at the transaction link (in the current or previous messages). E.g. for todays “no rewards claimed” message - you could check the transaction link of last rounds “rewards claimed” message to see what’s true.

Sorry for the confusion caused by this bug!

0 Likes