Building Telegram Bots : Develop Bots in 12 Programming Languages Using the Telegram Bot API
معرفی کتاب «Building Telegram Bots : Develop Bots in 12 Programming Languages Using the Telegram Bot API» نوشتهٔ Nicolas Modrzyk، منتشرشده توسط نشر Apress در سال 2019. این کتاب در 277 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Building Telegram Bots : Develop Bots in 12 Programming Languages Using the Telegram Bot API» در دستهٔ برنامهنویسی قرار دارد.
در دنیای امروز، رباتهای تلگرام به یکی از قدرتمندترین ابزارهای ارتباطی و اتوماسیون تبدیل شدهاند و یادگیری ساخت آنها میتواند درهای تازهای از خلاقیت را به روی برنامهنویسان بگشاید. کتاب «Building Telegram Bots» نوشتهٔ نیکولاس مودژیک، راهنمایی جامع و منحصربهفرد است که ساخت ربات را با دوازده زبان برنامهنویسی متفاوت آموزش میدهد و این امکان را به شما میدهد تا با زبانی که با آن راحتتر هستید، وارد این حوزهٔ جذاب شوید. در این مقاله، به بررسی این منبع ارزشمند برای توسعهدهندگان میپردازیم.
دربارهٔ کتاب «Building Telegram Bots» —
کتاب «Building Telegram Bots» با تمرکز بر رابط برنامهنویسی کاربردی (API) تلگرام، یکی از سادهترین و در عین حال مؤثرترین روشهای ساخت ربات را آموزش میدهد. نکتهٔ برجسته و متمایزکنندهٔ این اثر، رویکرد چندزبانهٔ آن است. برخلاف بسیاری از کتابهای مشابه که به یک یا دو زبان خاص محدود میشوند، این کتاب با پوشش دوازده زبان برنامهنویسی از جمله پایتون، گو، جاوا، روبی، کلوژر، رست، نیم، کریستال، دی، سیپلاسپلاس، ایکسکیو، و الیکسیر، مخاطبان بسیار گستردهتری را پوشش میدهد. ساختار کتاب به گونهای طراحی شده است که خواننده از ابتدا با ساخت یک ربات ساده شروع کرده و سپس به تدریج قابلیتهای پیشرفتهتری مانند تعاملات جذاب با کاربر، افزودن قابلیت پرداخت و مدیریت فایلهای چندرسانهای را فرا میگیرد. این کتاب نه تنها جنبهٔ آموزشی دارد، بلکه با ارائهٔ مثالهای عملی و متنوع، نشان میدهد که رباتها چه کاربردهای شگفتانگیزی در زندگی روزمره دارند؛ از بهبود شانس یافتن شغل و انجام تحقیقات فنی گرفته تا تشخیص تفاوت بین اسب و گورخر و حتی گفتن لطیفه برای شاد کردن کاربر در نیمهشب.
دربارهٔ نویسنده
نیکولاس مودژیک (Nicolas Modrzyk) نویسندهٔ این کتاب، یک مهندس نرمافزار با بیش از پانزده سال تجربه بینالمللی در آسیا، اروپا و ایالات متحده است. او هماکنون به عنوان مدیر ارشد فناوری (CTO) در یک شرکت مشاورهٔ بینالمللی در توکیو، ژاپن فعالیت میکند. مودژیک پیش از این نیز چهار کتاب دیگر در زمینهٔ برنامهنویسی، عمدتاً با تمرکز بر زبان کلوژر و کدنویسی رسا، تألیف کرده است. تخصص و سابقهٔ عملی او در این حوزه، به کتاب اعتبار و کاربردی بودن لازم را بخشیده است.
چرا باید «Building Telegram Bots» را بخوانید؟
مطالعهٔ این کتاب، مزایای قابلتوجهی برای توسعهدهندگان در سطوح مختلف دارد. در ادامه به برخی از مهمترین دستاوردهای آن اشاره میشود:
آموزش گامبهگام و عملی: کتاب با رویکردی کاملاً عملی، از مرحلهٔ گفتگو با «باتفادر» (ربات سازندهٔ ربات در تلگرام) شروع کرده و شما را قدمبهقدم با روند ایجاد، پیکربندی و بهبود ربات آشنا میسازد.
تنوع زبانی بینظیر: مهمترین ویژگی کتاب، ارائهٔ آموزش برای دوازده زبان برنامهنویسی مختلف است. این امر به شما آزادی عمل میدهد تا با زبانی که به آن مسلطترید یا برای پروژهتان مناسبتر است، کار را شروع کنید.
پوشش قابلیتهای پیشرفته: این کتاب تنها به ساخت یک ربات ساده اکتفا نمیکند و موضوعات کلیدی و پیشرفتهای مانند ایجاد تعاملات پیشرفته با کاربر، افزودن درگاه پرداخت، و کار با فایلهای رسانهای را نیز پوشش میدهد.
درک عمیق از کاربردهای ربات: با مطالعهٔ مثالهای متنوع کتاب، درک وسیعی از کاربردهای عملی رباتهای تلگرام در حوزههای گوناگون از سرگرمی تا پژوهش، به دست خواهید آورد.
انتخاب مسیر یادگیری دلخواه: ساختار کتاب به گونهای است که میتوانید مستقیماً به فصل مربوط به زبان موردنظر خود مراجعه کرده و بدون نیاز به خواندن کل کتاب، پروژهی خود را شروع کنید.
این کتاب برای چه کسانی مناسب است؟
این کتاب برای طیف گستردهای از مخاطبان طراحی شده است؛ از برنامهنویسان مبتدی که به دنبال ورود به دنیای رباتها و اتوماسیون هستند تا توسعهدهندگان حرفهای و پرکار که زمان کمی برای تحقیق دارند و میخواهند به سرعت و با زبانی جدید، یک ربات تلگرام را پیادهسازی کنند. همچنین، افرادی که به زبانهای برنامهنویسی گوناگون علاقهمندند و میخواهند تواناییهای خود را در زمینهای عملی و مورد نیاز بازار محک بزنند، مخاطب اصلی این کتاب محسوب میشوند.
سوالات متداول
آیا برای استفاده از این کتاب باید حتماً با تمام دوازده زبان برنامهنویسی آشنا باشم؟
خیر، این کتاب به گونهای طراحی شده که شما میتوانید مستقیماً به فصل مربوط به زبان مدنظر خود مراجعه کنید. هدف اصلی کتاب، ارائهٔ رویکردی انعطافپذیر است تا هر توسعهدهندهای بتواند با زبان مورد علاقهٔ خود کار کند، هرچند آشنایی مقدماتی با برنامهنویسی برای بهرهمندی کامل از کتاب توصیه میشود.
آیا کتاب صرفاً به مبانی ساخت ربات میپردازد یا موضوعات پیشرفته را نیز پوشش میدهد؟
کتاب هر دو جنبه را پوشش میدهد. پس از آموزش ساخت ربات در سطح مقدماتی، به موضوعات پیشرفتهتر مانند مدیریت پرداختها، ارسال و دریافت فایلهای چندرسانهای، و ایجاد تعاملات پیچیدهتر با کاربران نیز میپردازد.
آیا این کتاب برای نسخهٔ جدیدتر API تلگرام نیز معتبر است؟
در حالی که ممکن است API تلگرام در طول زمان بهروزرسانی شود، اصول و مفاهیم بنیادین ارائهشده در این کتاب همچنان معتبر و کاربردی باقی خواهند ماند. کتاب بر اساس نگارش موجود در زمان انتشار (۲۰۱۹) نوشته شده و به عنوان یک پایهٔ محکم برای درک نحوهٔ کار با این API عمل میکند.
Learn about bot programming, using all the latest and greatest programming languages, including Python, Go, and Clojure, so you can feel at ease writing your Telegram bot in a way that suits you. This book shows how you can use bots for just about everything: they connect, they respond, they enhance your job search chances, they do technical research for you, they remind you about your last train, they tell the difference between a horse and a zebra, they can tell jokes, and they can cheer you up in the middle of the night. Bots used to be hard to set up and enhance, but with the help of Building Telegram Bots you’ll see how the Telegram platform is now making bot creation easier than ever. You will begin by writing a simple bot at the start and then gradually build upon it. The simple yet effective Telegram Bot API makes it very easy to develop bots in a number of programming languages. Languages featured in the book include Node.js, Java, Rust, and Elixir. This book encourages you to not only learn the basic process of creating a bot but also lets you spend time exploring its possibilities. By the end of the book you will be able create your own Telegram Bot with the programming language of your choice. What You Will Learn • Carry out simple bot design and deployment in various programming languages including Ruby, D, Crystal, Nim, and C++ • Create engaging bot interactions with your users • Add payments and media capabilities to your bots • Master programming language abstraction Who This Book Is For Engineers who want to get things done. People who are curious. Programming beginners. Advanced engineers with little time to do research. Table of Contents 4 About the Author 10 About the Technical Reviewers 11 Acknowledgments 12 Introduction 13 Chapter 1: Week 1: Ruby 15 Chatting with the BotFather 15 Setting Up Ruby 21 Your First Telegram Bot 22 Understanding Received Messages Fields 28 First Reply 29 Chapter 2: Week 2: Nim 31 Installing Nim 31 Nim Plug-in for Visual Studio Code 32 Hello, Nim 34 Second Nim Program (Still Not Bot) 37 Creating Visual Studio Code Build Tasks 39 Installing Nim Packages with Nimble 43 First Nim Bot 45 Replying to Nim Bot 47 Cats and Dogs Nim Bot 48 Chapter 3: Week 3: Crystal 51 Setting Up Crystal 52 Short Walk in the Playground 53 Going Visual Studio Code Again 55 Creating a Crystal Project 60 Echo Bot 64 Command Bot 66 Chapter 4: Week 4: Rust 71 Rust Installation and First Steps 72 Installation 72 First Rust or Two 76 Hello Rust 76 Fibonacci 78 Ride the cargo 80 We Have Time 80 Multiple Cargo Targets 84 Rust Bot Number 1: Reply to Me 88 Rust Bot Number 2: Where Is Tokyo? 91 Rust Bot Number 3: Chained Reaction 96 Compiling for Release 98 Chapter 5: Week 5: D 99 Installation and First D Steps 100 Some Bits of D on Concurrency 105 Simple Threading 105 Thread with a State 106 Shared State 108 A Few More Examples of D 109 Sort Me Tender, Sort Me True 109 My Love for Fibonacci 112 Telegram Bots in D 114 Meet dub 114 First D Bot 119 More Bot API Usage 121 Chapter 6: Week 6: C++ 124 Requirements, Installation, and First Bot 124 Install tgbot-cpp 125 Install OpenCV 126 File Download Program 126 Echo Bot 132 C++ Bots 136 Bot with Inline Keyboard 136 Photo Bot 139 OpenCV in action 141 OpenCV Sample Program 141 OpenCV Bot 144 Chapter 7: Week 7: Clojure 148 Initial Setup and First Clojure Bot 149 Visual Studio Code 154 The Project Metadata in project.clj 155 The Clojure Code in core.clj 156 The Token! 159 Debugging Telegram Messages 159 Creating a Reverse Bot 161 Inline Handler 162 A Simple Weather Bot 163 OpenCV and Telegram: Origami Bot 167 Chapter 8: Week 8: Java 172 Installation 172 The Project Structure 174 The build.gradle file 174 Visual Studio Code Setup 177 First Java Bot 178 Send Some Text 180 Send a Photo 182 Bot with Invoice Capabilities 183 Asking Permission 183 Sending an Invoice Message 186 Chapter 9: Week 9: Go 193 Installation of Go 194 Let’s Go 196 Let’s Fib 202 First Bot in Go 205 Just Sending Pictures 209 Chapter 10: Week 10: Elixir 212 Installation 213 Using iex 214 Using mix 215 Running iex with mix 216 Project Structure of a mix Project 217 config.exs 218 mix.exs 219 Dependencies 220 telegrambox.ex 223 (Back to) Dependencies 224 Get Something 227 GetMe 227 GetChat 228 GetFile 229 Using Elixir’s System 230 SendPhoto 231 Telegram Bot 232 Bot1: Anything Goes 232 Bot2: Fibonacci 233 Chapter 11: Week 11: Node.js 236 Meet RunKit 237 Creating an Account 237 First Code on RunKit 240 A Certain Je Ne Sais Koa 241 Publishing Some Koa 243 Telegram Bot with Webhooks 245 More on the Telegraf Library 250 Image-to-Chat Example 250 RegExp, Inline Keyboards, and Embedded Emojis 251 Running Node.js Locally 253 Setting Up Node.js 254 Using Local Tunnel 255 Chapter 12: Week 12: Python 258 Installation 259 A Few Python Programs 261 Fibonacci 1 261 Fibonacci 2 263 Fibonacci 3 264 Fibonacci 4 265 Fibonacci 5 266 First Telegram with Python 267 First Bot: Send a Random Photo 269 First OpenCV Bot: Changing the Color Space of a Picture 271 Second OpenCV Bot: Count Faces 273 TensorFlow to Close the Show 276 Index 282 Front Matter ....Pages i-xvi Week 1: Ruby (Nicolas Modrzyk)....Pages 1-16 Week 2: Nim (Nicolas Modrzyk)....Pages 17-36 Week 3: Crystal (Nicolas Modrzyk)....Pages 37-56 Week 4: Rust (Nicolas Modrzyk)....Pages 57-84 Week 5: D (Nicolas Modrzyk)....Pages 85-109 Week 6: C++ (Nicolas Modrzyk)....Pages 111-134 Week 7: Clojure (Nicolas Modrzyk)....Pages 135-158 Week 8: Java (Nicolas Modrzyk)....Pages 159-179 Week 9: Go (Nicolas Modrzyk)....Pages 181-199 Week 10: Elixir (Nicolas Modrzyk)....Pages 201-224 Week 11: Node.js (Nicolas Modrzyk)....Pages 225-246 Week 12: Python (Nicolas Modrzyk)....Pages 247-270 Back Matter ....Pages 271-277 "Learn about bot programming, using all the latest and greatest programming languages, including Python, Go, and Clojure, so you can feel at ease writing your Telegram bot in a way that suits you. This book shows how you can use bots for just about everything: they connect, they respond, they enhance your job search chances, they do technical research for you, they remind you about your last train, they tell the difference between a horse and a zebra, they can tell jokes, and they can cheer you up in the middle of the night."-- Amazon.ca web site Showing how you can use bots for just about everything, this book teaches you about bot programming, using all the latest and greatest programming languages, including Python, Go, and Clojure, so you can feel at ease writing your Telegram bot in a way that suits you. -- Edited summary from book