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

vvvv-Telegram

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

about

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.

Sources

https://github.com/mhusinsky/vvvv-Telegram

Releases

  • v0.2.1: no changes, just the dll assembly version number got bumped to 0.2
  • v0.2: Long overdue update. No big changes, it just works again. It now uses the latest Telegram.Bot libraries (version 15.5.1) that made some changes necessary. Plugin was tested with b37-b39, hope I did not miss any bugs.
  • 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 (vvvv-telegram 0.1) and version 11.0.2 (vvvv-telegram 0.2). 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...

License

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 :)

download

vvvv-Telegram_v0.2.1.zip
21.04.20 [08:13 UTC] by motzi | 539 downloads
Show 2 older revisions

Older Revisions

vvvv-Telegram_v0.2.zip
20.04.20 [23:14 UTC] by motzi | 282 downloads
vvvv-Telegram_v0.1_anycpu.zip
11.12.16 [22:46 UTC] by motzi | 1013 downloads
initial upload

velcrome 12/12/2016 - 01:26

cool!

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)

anyway
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:

vvvv_50beta36_x64
vvvv_50beta36_x86
vvvv_45beta34.1

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.

motzi 20/04/2020 - 23:27

@mediadog - please check again the newest version 0.2, which should work again from beta37 and later. feedback welcome!

kbln 17/01/2023 - 06:58

@motzi thanks for this great plugin!
Could you add support for 64-bit IDs?

anonymous user login

Shoutbox

~2d ago

joreg: vvvvTv S0204 is out: Custom Widgets with Dear ImGui: https://youtube.com/live/nrXfpn5V9h0

~2d ago

joreg: New user registration is currently disabled as we're moving to a new login provider: https://visualprogramming.net/blog/2024/reclaiming-vvvv.org/

~9d ago

joreg: vvvvTv S02E03 is out: Logging: https://youtube.com/live/OpUrJjTXBxM

~12d ago

~13d ago

joreg: Follow TobyK on his Advent of Code: https://www.twitch.tv/tobyklight

~17d ago

joreg: vvvvTv S02E02 is out: Saving & Loading UI State: https://www.youtube.com/live/GJQGVxA1pIQ

~17d ago

joreg: We now have a presence on LinkedIn: https://www.linkedin.com/company/vvvv-group

~24d ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~1mth ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/

~1mth ago