Swift में चैट-बॉट बनाना: विचार से पहली बातचीत तक

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift चैट-बॉट के लिए एक बेहतरीन विकल्प क्यों है?

\n

जब चैट-बॉट बनाने की बात आती है, तो कई लोग तुरंत Python या JavaScript के बारे में सोचते हैं। और यह तर्कसंगत है: वहाँ बहुत सारी तैयार लाइब्रेरी और उदाहरण हैं। लेकिन क्या होगा अगर आपका स्टैक Apple इकोसिस्टम है? या आप एक ऐसा बॉट बनाना चाहते हैं जो सीधे Vapor सर्वर पर काम करे? या शायद आप केवल iOS डेवलपमेंट के बाहर Swift आज़माने में रुचि रखते हैं?

\n

Swift केवल सुंदर सिंटैक्स और टाइप सुरक्षा नहीं है। यह बिजली की गति, नेटवर्क के साथ उत्कृष्ट कार्य और डेटा पार्सिंग के लिए शक्तिशाली उपकरण भी प्रदान करता है। इस लेख में, हम एक और "हैलो-वर्ल्ड" बॉट नहीं लिखेंगे। हम चरण दर चरण Swift में एक पूर्ण Telegram बॉट बनाएंगे, जो कमांड का जवाब दे सके, टेक्स्ट संदेशों को प्रोसेस कर सके और JSON पार्स कर सके। चलिए शुरू करते हैं!

\n\n

हमें क्या चाहिए?

\n

कोड में कूदने से पहले, आइए टूलकिट को समझें। हमारे प्रोजेक्ट के लिए, हम उपयोग करेंगे:

\n
    \n
  • Swift 5.9+ — नवीनतम स्थिर संस्करण।
  • \n
  • Foundation — नेटवर्क और JSON के साथ काम करने के लिए अंतर्निहित लाइब्रेरी।
  • \n
  • Telegram Bot API — REST API जिसे हमें कॉल करना होगा।
  • \n
  • SwiftBot लाइब्रेरी — Telegram के साथ काम करने के लिए हल्का रैपर (या हम अपना न्यूनतम क्लाइंट लिखेंगे)।
  • \n
\n

यदि आप अधिकतम नियंत्रण के मार्ग पर जाना चाहते हैं, तो हम केवल Foundation के मानक साधनों का उपयोग करेंगे। कोई तृतीय-पक्ष निर्भरता नहीं — केवल शुद्ध Swift।

\n\n

चरण 1: BotFather पर बॉट पंजीकृत करें

\n

यह सबसे आसान कदम है। Telegram खोलें, BotFather ढूंढें, /newbot लिखें और निर्देशों का पालन करें। आपको एक टोकन मिलेगा — 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 जैसी लंबी स्ट्रिंग। इसे पर्यावरण चर या कॉन्फ़िग फ़ाइल में सहेजें। यदि आप प्रोजेक्ट को GitHub पर अपलोड करने की योजना बनाते हैं, तो टोकन को कभी भी सीधे कोड में न डालें।

\n

टोकन आपके बॉट तक पहुंच की कुंजी है। इसके माध्यम से हम Telegram API को अनुरोध भेजेंगे।

\n\n

चरण 2: API के साथ काम करने के लिए संरचना बनाएं

\n

शुरुआत में, हमें एक सरल HTTP क्लाइंट लिखना होगा। Telegram API GET और POST अनुरोधों के माध्यम से काम करता है। हम URLSession का उपयोग करेंगे — नेटवर्क के साथ काम करने के लिए Swift का मानक उपकरण।

\n\n

बेसिक क्लास BotClient बनाएं

\n
import Foundation\n\nclass BotClient {\n    private let token: String\n    private let baseURL = "https://api.telegram.org/bot"\n    \n    init(token: String) {\n        self.token = token\n    }\n    \n    // अनुरोध भेजने की विधि\n    private func sendRequest(method: String, parameters: [String: Any] = [:], completion: @escaping (Data?, Error?) -> Void) {\n        let urlString = "\\(baseURL)\\(token)/\\(method)"\n        guard let url = URL(string: urlString) else {\n            completion(nil, NSError(domain: "Invalid URL", code: -1))\n            return\n        }\n        \n        var request = URLRequest(url: url)\n        request.httpMethod = "POST"\n        request.setValue("application/json", forHTTPHeaderField: "Content-Type")\n        \n        if !parameters.isEmpty {\n            request.httpBody = try? JSONSerialization.data(withJSONObject: parameters)\n        }\n        \n        let task = URLSession.shared.dataTask(with: request) { data, response, error in\n            completion(data, error)\n        }\n        task.resume()\n    }\n    \n    // अपडेट प्राप्त करें (नए संदेश)\n    func getUpdates(offset: Int? = nil, completion: @escaping ([Update]?) -> Void) {\n        var params: [String: Any] = [:]\n        if let offset = offset {\n            params["offset"] = offset\n        }\n        \n        sendRequest(method: "getUpdates", parameters: params) { data, error in\n            guard let data = data else {\n                completion(nil)\n                return\n            }\n            \n            do {\n                let response = try JSONDecoder().decode(TelegramRespons                

ब्लॉग

पुस्तक अनुशंसाएँ