To develop smart contracts you need to at least learn FunC. In the process you might also learn Fift for a better understanding of how things work on a lower level.
To develop Telegram bots you can use many different general-purppose programming languages. There are a lot of options available here.
For the client side of dApps, you can use JavaScript or other tools that can generate a client side application.