» vvvv-Telegram
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.


plugin BotClient Telegram Bot
Credits: Telegram Bot-Api, Telegram.Bot C# Api by Robin Müller, vvvv plugins by motzi


With the rise of messenger apps it appears that chatbots are becoming (again) a user interface for almost anything.

Now, thanks to the awesome Bot-API which is offered by the cloud based Telegram messenger service and the Telegram.Bot C# API, you can now build your own Telegram chatbots within VVVV using these plugins.

Why should I care?

Well, messenger apps are super simple to use and offer quite easy options to capture and send/receive media. By building a chatbot within VVVV you can easily get data in and out from your patches using your mobile phone or whatever Telegram client you are using.
One can think of many applications where a chatbot could be of great use:

  • A notification service (let your patches talk to you, send you photos, sounds, documents, ...)
  • An advanced remote control (send data into your patch from wherever you are)
  • An easy way to write text or upload media to your patches by anyone (i.e. take a photo in the Telegram client, press send, get the result almost immediately as a texture in your running patch).
  • and many more...

Nothing new, to be honest, but the simplicity of the interface of a chatbot is just striking.

What does vvvv-Telegram offer?

  • Nodes to send and receive messages for text, locations, venues, contacts, photos, stickers, videos, audio, voice-recordings and documents from VVVV to Telegram clients (and vice versa).
  • Create custom keyboards (Reply and Inline keyboards)
  • Receive callbacks from Inline Keyboards and send notifications
Not there (yet):
  • Inline Bots
  • private mode
  • Game messages
  • ...

All web operations (connect, send, receive) happen asyncronously and most nodes are spreadable with regard to the BotClients.

How to use

  • Get yourself a Telegram client (e.g. app on your smartphone)
  • Talk to the botfather to create a telegram bot.
    • You will receive an API-Key that will allow your bot to connect to Telegram
  • Use the API-Key on the BotClient node to be able to connect
  • Connect Send/Receive message nodes to the botclient for being able to talk to the bot.

Have a look at the patches inside for more details.




  • v0.1: Initial Release. Note: The Telegram.Bot.dll used for this contains a minor bugfix for venue messages that is not yet in the Telegram.Bot core (pull request pending).

Important note:

Telegram.Bot uses Newtonsoft.JSON in version 9. As some other plugins/packs also use this library (e.g. vvvv-Message, vvvv-Time, ...) there might be dll conflicts resulting in exceptions during use. Be sure to scan your repositories and packs for this dll and remove the older versions. Sorry for this, but it seems there is no other way...


CC-BY by motzi(Matthias Husinsky). If you are using these plugins in an application of yours, be so kind and send me a photo or pointer to a description of your work. I'm just curious how you use this :)


11.12.16 [22:46 UTC] by motzi | 556 downloads
initial upload

velcrome 12/12/2016 - 01:26


about json.net compatibility with other packs, if you download the most recent vvvv-Message release, you can be sure it will work with the most recent version 9 as well.

circuitb 12/12/2016 - 22:36

really cool!

sebescudie 13/12/2016 - 12:20

awesommmmmme contrib, opens a lot of possibilities, thanks motzi !

Just one thing : the \plugins folder should be placed inside a \nodes folder, otherwise nodes won't show up in the nodebrowser :)

motzi 13/12/2016 - 15:25

@sebescudie: thanks for the hint. but iirc putting this into a "nodes" folder is the way to go for a pack. i wanted to release this as plain old plugins that you can put into your contributions plugin folder (the one you can reference in the root patch). in there it should just work (like "vvvvContributions\plugins\vvvv-Telegram\plugins...").

would you think that the nodes would make more sense as a pack?

sebescudie 13/12/2016 - 16:47

@motzi oh, sorry, I instinctively assumed it was a pack since I don't use the contribs folder that much.

I don't know if it would make more sense as a pack... there seems to be quite a large amount of nodes and some cool examples that could fit in a \girlpower folder, I guess that's why it felt like a pack to me rather than a simple plugin contrib.

mediadog 18/12/2016 - 20:29

I love Telegram, and this rocks! Thanks a bunch!

colorsound 05/01/2017 - 14:23

wow thank you ¡¡

gegenlicht 19/01/2017 - 11:11

very easy to use and amazing fun way to interact with vvvv, thx

dr_qatz 17/04/2018 - 01:08

Can I use Socks5 for bot?

guest 31/05/2018 - 13:53

just to let you know
if a disconnection occur and you try to reconnect the BotClient
an error message popup and freeze the patch until you click continue

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Net.WebException: The remote name could not be resolved: 'api.telegram.org'

   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)

great contrib!!

motzi 01/06/2018 - 18:19

@dr_quatz : sorry for replying late - no socks5 for now, that's not implemented

@guest: are you running an alpha version of VVVV? in betas exceptions should not block the running patch. or you can start an alpha via commandline parameter /showexceptions false (see here commandline parameters)?. does this help?

io 13/08/2018 - 17:29

Beta36 shows the exceptions dialogue no matter what the parameters are.

darnhalm 15/08/2018 - 10:59

I tried to run this patch with such versions:


I tried to run on 3 different computers.

I get the same error.

is there a solution to this problem?

motzi 22/08/2018 - 14:57

@io: i did not run into this issue until now but will look into that. also, i'm working on the next version, based on a newer release of the base-library and VL-based. no ETA though...

mediadog 13/10/2019 - 05:21

Hmmm, this has been working fine for me up through 50beta35.8_x64, but now throws an exception under 50beta38.1_x64. This is on Win10 Enterprise on multiple machines:

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at VVVV.Nodes.BotClient.<ConnectAsync>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Bummer, as running a bot to query status has been incredibly useful.

anonymous user login


~19h ago

joreg: Two #vvvv workshops this week in #berlin: Friday: Physical Computing, Saturday: Computer Vision. Tickets: upcoming-full-day-vvvv-gamma-workshops-in-berlin

~1d ago

joreg: @cznickesz also feel free to join our chat for such questions: chat

~1d ago

cznickesz: @joreg: Yeah, I´ll give it a try! Thx

~1d ago

joreg: @cznickesz: we're hoping this week. but depends on feedback. please test your project and let us know if it works.

~2d ago

cznickesz: @joreg: I should stop asking my questions so cryptic ;-) So right away: is final Beta39 hours, days or weeks away?

~2d ago

joreg: @cznickesz: the idea of an RC is exactly to make sure your projects will work with it. your last chance to report problems with b39.

~2d ago

cznickesz: So how "RC" is the "RC3"? I have to update an old project soon and I´m wondering if I should wait and directly update to Beta39

~2d ago

joreg: @takuma, the "one frame" issue was fixed in RC3 for beta39, see: beta39-release-candidate

~2d ago

Takuma: @joreg thank!! Ill try this. Are there a way to send video texture from vvvv to vl? fromimage node in vl somehow only sends 1 frame

~2d ago

cznickesz: @ravasquez thx, so I need to stop avoiding nuget in the end ;-)