วิธีการตั้งค่าบอทใน Telegram วิธีสร้างบอทโทรเลขโดยไม่ต้องเขียนโปรแกรม ข้อกำหนดพื้นฐานสำหรับบอทที่สร้างขึ้นใหม่

💖 ชอบไหม?แชร์ลิงก์กับเพื่อนของคุณ

เราเขียน /start ถึงเขาและรับรายการคำสั่งทั้งหมดของเขา
อันแรกและอันหลัก - /newbot - เราส่งมันไปให้เขา และบอทขอให้เขาตั้งชื่อบอทใหม่ของเรา ข้อจำกัดเพียงอย่างเดียวของชื่อคือต้องลงท้ายด้วย "bot" หากประสบความสำเร็จ BotFather จะส่งคืนโทเค็นบอทและลิงก์เพื่อเพิ่มบอทไปยังผู้ติดต่อของคุณอย่างรวดเร็ว ไม่เช่นนั้นคุณจะต้องใช้สมองมากกว่าชื่อ

นี่ก็เพียงพอแล้วสำหรับการเริ่มต้น ผู้ที่อวดรู้เป็นพิเศษสามารถกำหนดอวตาร คำอธิบาย และข้อความต้อนรับให้กับบอทได้ที่นี่

อย่าลืมตรวจสอบโทเค็นที่ได้รับโดยใช้ลิงก์ api.telegram.org/bot พวกเขากล่าวว่า /getMe ไม่ได้ผลเสมอไปในครั้งแรก

2. การเขียนโปรแกรม

ฉันจะสร้างบอทใน Python3 อย่างไรก็ตาม เนื่องจากความเพียงพอของภาษานี้ อัลกอริธึมจึงสามารถถ่ายโอนไปยังภาษาอื่นได้อย่างง่ายดาย

Telegram ช่วยให้คุณไม่ต้องอัปโหลดข้อความด้วยตนเอง แต่ต้องติดตั้ง webHook จากนั้นพวกเขาจะส่งข้อความแต่ละข้อความด้วยตนเอง สำหรับ Python เพื่อไม่ให้ยุ่งยากกับ cgi และเธรด จึงสะดวกที่จะใช้เครื่องปฏิกรณ์บางประเภท ดังนั้นฉันจึงเลือก tornado.web สำหรับการนำไปใช้งาน (สำหรับ GAE สะดวกในการใช้ชุด Python2+Flask)

เฟรมบอท:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN MyURL = "https://example.com/hook" api = request.Session() application = tornado.web.Application([ ( r"/", ตัวจัดการ), ]) ถ้า __name__ == "__main__": signal.signal(signal.SIGTERM, signal_term_handler) ลอง: set_hook = api.get(URL + "setWebhook?url=%s" % MyURL) ถ้า set_hook.status_code != 200: logging.error("ไม่สามารถตั้งค่า hook: %s. Quit." % set_hook.text) exit(1) application.listen(8888) tornado.ioloop.IOloop.current().start () ยกเว้น KeyboardInterrupt: signal_term_handler(signal.SIGTERM, ไม่มี)
ที่นี่ เมื่อเริ่มต้นบอท เราจะติดตั้งเว็บฮุคตามที่อยู่ของเรา และจับสัญญาณทางออกเพื่อส่งคืนพฤติกรรมด้วยการยกเลิกการโหลดเหตุการณ์ด้วยตนเอง

แอปพลิเคชันทอร์นาโดสำหรับการประมวลผลคำขอยอมรับคลาส tornado.web.RequestHandler ซึ่งจะมีตรรกะของบอท

ตัวจัดการคลาส (tornado.web.RequestHandler): def post (self): ลอง: logging.debug ("Got request: %s" % self.request.body) update = tornado.escape.json_decode(self.request.body) message = update["message"] text = message.get("text") ถ้าข้อความ: logging.info("MESSAGE\t%s\t%s" % (ข้อความ["chat"]["id"], ข้อความ)) ถ้า text == "/": command, *arguments = text.split(" ", 1) response = CMD.get(command, not_found)(arguments, message) logging.info("REPLY\t%s \t%s" % (message["chat"]["id"], response)) send_reply(response) ยกเว้นข้อยกเว้นเป็น e: logging.warning(str(e))
ในที่นี้ CMD คือพจนานุกรมของคำสั่งที่ใช้ได้ และ send_reply เป็นฟังก์ชันสำหรับส่งการตอบกลับ ซึ่งรับออบเจ็กต์ Message ที่สร้างไว้แล้วเป็นอินพุต

จริงๆ แล้วโค้ดของมันค่อนข้างง่าย:

Def send_reply (ตอบกลับ): ถ้า "ข้อความ" ตอบกลับ: api.post (URL + "sendMessage", data=response)

เมื่ออธิบายตรรกะทั้งหมดของบอทแล้ว คุณสามารถเริ่มใช้คำสั่งสำหรับบอทได้

3. ทีม

ก่อนอื่น คุณต้องปฏิบัติตามแบบแผน Telegram และสอนบอทด้วยคำสั่งสองคำสั่ง: /start และ /help:

Def help_message(อาร์กิวเมนต์, ข้อความ): response = ("chat_id": message["chat"]["id"]) result = ["เฮ้ %s!" % message["from"].get("first_name"), "\rI สามารถยอมรับเฉพาะคำสั่งเหล่านี้:"] สำหรับคำสั่งใน CMD: result.append(command) response["text"] = "\n\t" .join(result) ตอบกลับการตอบกลับ

โครงสร้างข้อความ ["จาก"] เป็นออบเจ็กต์ประเภท User โดยจะให้ข้อมูลเกี่ยวกับทั้ง ID ผู้ใช้และชื่อของเขาแก่บอต สำหรับการตอบกลับ การใช้ข้อความ["แชท"]["id"] จะมีประโยชน์มากกว่า - ในกรณีของการสื่อสารส่วนตัวจะมีผู้ใช้ และในกรณีของการแชท - รหัสแชท มิฉะนั้น คุณอาจได้รับสถานการณ์ที่ผู้ใช้เขียนในการแชท และบอทตอบกลับในข้อความส่วนตัว

คำสั่ง /start ที่ไม่มีพารามิเตอร์มีวัตถุประสงค์เพื่อแสดงข้อมูลเกี่ยวกับบอท และมีพารามิเตอร์ไว้เพื่อระบุตัวตน มีประโยชน์ที่จะใช้สำหรับการดำเนินการที่ต้องได้รับอนุญาต

หลังจากนี้ คุณสามารถเพิ่มคำสั่งของคุณเองได้ เช่น /base64:

Def base64_decode(อาร์กิวเมนต์, ข้อความ): response = ("chat_id": message["chat"]["id"]) ลอง: response["text"] = b64decode(" ".join(arguments).encode("utf8 ")) ยกเว้น: การตอบสนอง ["ข้อความ"] = "ไม่สามารถถอดรหัสได้" ในที่สุด: ตอบกลับ

สำหรับผู้ใช้ Telegram มือถือ การบอก @BotFather ว่าคำสั่งใดที่บอทของเรายอมรับจะมีประโยชน์:
ฉัน: /setcommands
BotFather: เลือกบอทเพื่อเปลี่ยนรายการคำสั่ง
ฉัน: @******_bot
BotFather: โอเค ส่งรายการคำสั่งสำหรับบอทของคุณมาให้ฉัน กรุณาใช้รูปแบบนี้:

Command1 - คำอธิบาย
command2 - คำอธิบายอื่น
ฉัน:
whoisyourdaddy - ข้อมูลเกี่ยวกับผู้แต่ง
base64 - ถอดรหัส Base64
BotFather: สำเร็จ! อัปเดตรายการคำสั่งแล้ว /ช่วย

ด้วยคำอธิบายนี้ หากผู้ใช้พิมพ์ / Telegram จะแสดงรายการคำสั่งที่มีอยู่ทั้งหมดอย่างเป็นประโยชน์

4. เสรีภาพ

อย่างที่คุณเห็น Telegram ส่งข้อความทั้งหมด โดยไม่แยก และข้อจำกัดที่คำสั่งขึ้นต้นด้วยเครื่องหมายทับนั้นเพื่อความสะดวกของผู้ใช้มือถือเท่านั้น ด้วยเหตุนี้ คุณจึงสามารถสอนบอทให้พูดอย่างมนุษย์ปุถุชนได้

อัปเดต:ตามที่พวกเขาแนะนำอย่างถูกต้อง สิ่งนี้จะเกิดขึ้นผ่านการสื่อสารส่วนตัวเท่านั้น ในการแชท เฉพาะข้อความที่ขึ้นต้นด้วยคำสั่ง (/ ) (https://core.telegram.org/bots#privacy-mode)

เพื่อให้บอทรับข้อความทั้งหมดเป็นกลุ่ม ให้เขียนคำสั่ง @BotFather /ตั้งค่าความเป็นส่วนตัวและปิดความเป็นส่วนตัว

ขั้นแรก เพิ่มตัวจัดการให้กับตัวจัดการ:

ถ้า text == "/": ... else: response = CMD[" "](ข้อความ) logging.info("ตอบกลับ\t%s\t%s" % (ข้อความ["แชท"]["id"], ตอบกลับ)) send_reply(ตอบกลับ)
จากนั้นเราก็เพิ่มคำพูดหลอกเข้าไปในรายการคำสั่ง:

การตอบสนอง = ( "สวัสดี": ["สวัสดี!", "สวัสดี!", "ยินดีต้อนรับ!", "สวัสดี (ชื่อ)!"], "สวัสดี": ["สวัสดี!", "สวัสดี (ชื่อ) )!", "สวัสดี!", "ยินดีต้อนรับ!"], "สวัสดี!": ["สวัสดี!", "สวัสดี (ชื่อ)!", "ยินดีต้อนรับ!", "สวัสดี!"], "ยินดีต้อนรับ" : ["สวัสดี!", "สวัสดี!", "สวัสดี!", "สวัสดี (ชื่อ)!",], ) def human_response(ข้อความ): leven = fuzzywuzzy.process.extract(message.get("text `, ""), RESPONSES.keys(), Limit=1) response = ("chat_id": message["chat"]["id"]) ถ้าเลเวน< 75: response["text"] = "I can not understand you" else: response["text"] = random.choice(RESPONSES.get(leven)).format_map({"name": message["from"].get("first_name", "")}) return response
ในที่นี้ ค่าคงที่เชิงประจักษ์ 75 สะท้อนถึงความน่าจะเป็นที่ผู้ใช้ต้องการจะพูดค่อนข้างดี และ format_map นั้นสะดวกสำหรับคำอธิบายเดียวกันของสตริงทั้งที่ต้องมีการทดแทนและไม่มี ตอนนี้บอทจะตอบสนองต่อคำทักทายและบางครั้งก็เรียกชื่อคุณด้วย

5. ไม่ใช่ข้อความ

เช่นเดียวกับผู้ใช้ Telegram ทั่วไป บอทไม่เพียงแต่สามารถเขียนข้อความเท่านั้น แต่ยังแชร์รูปภาพ เพลง และสติกเกอร์ได้อีกด้วย

ตัวอย่างเช่น ลองขยายพจนานุกรม RESPONSES:

คำตอบ["กี่โมงแล้ว?"] = [" "," (วันที่) UTC"]
และเราจะจับข้อความ :

หากการตอบกลับ ["ข้อความ"] == " ": การตอบสนอง["สติกเกอร์"] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC" จากการตอบกลับ ["ข้อความ"]
จะเห็นได้ว่าตอนนี้โครงสร้างข้อความไม่มีข้อความอีกต่อไปแล้ว ดังนั้นจึงจำเป็นต้องแก้ไข send_reply:

Def send_reply (ตอบกลับ): ถ้า "สติกเกอร์" ตอบกลับ: api.post (URL + "sendSticker", data=response) elif "text" ตอบกลับ: api.post (URL + "sendMessage", data=response)
เพียงเท่านี้ บอทจะส่งสติกเกอร์เป็นครั้งคราวแทนเวลา:

6. โอกาส

ด้วยความสะดวกของ API และการเริ่มต้นอย่างรวดเร็ว บอท Telegram สามารถกลายเป็นแพลตฟอร์มที่ดีในการดำเนินการอัตโนมัติ ตั้งค่าการแจ้งเตือน สร้างแบบทดสอบ และการแข่งขันตามงาน (CTF, DozoR และอื่น ๆ )

เมื่อมองย้อนกลับไปฉันสามารถพูดได้ว่าตอนนี้มีความวิปริตน้อยลงและงานก็โปร่งใสมากขึ้น

7. ข้อจำกัด

น่าเสียดายที่ในขณะนี้มีข้อ จำกัด ในการใช้ webHook - ใช้งานได้บน https เท่านั้นและมีใบรับรองที่ถูกต้องเท่านั้น ซึ่งตัวอย่างเช่นยังคงสำคัญสำหรับฉันเนื่องจากขาดการสนับสนุน DNS แบบไดนามิกโดยหน่วยงานออกใบรับรอง

โชคดีที่ Telegram สามารถทำงานร่วมกับการอัปเดตด้วยตนเองได้ ดังนั้นคุณสามารถสร้างบริการ Puller อื่นที่จะดาวน์โหลดและส่งไปยังที่อยู่ในท้องถิ่นโดยไม่ต้องเปลี่ยนรหัส:

ในขณะที่เป็นจริง: r =ร้องขอ.get(URL + "?offset=%s" % (สุดท้าย + 1)) ถ้า r.status_code == 200: สำหรับข้อความใน r.json()["result"]: สุดท้าย = int (ข้อความ ["update_id"]) request.post("http://localhost:8888/", data=json.dumps(message), headers=("Content-type": "application/json", "ยอมรับ" : "ข้อความ/ธรรมดา")) else: logging.warning("FAIL " + r.text) time.sleep(3)

ป.ล. เกี่ยวกับจุดที่ 7 ฉันพบวิธีแก้ปัญหาที่สะดวก - การโฮสต์บอทไม่ได้อยู่ที่บ้าน แต่อยู่บน Heroku เนื่องจากชื่อทั้งหมดเช่น *.herokuapp.com ได้รับการปกป้องโดยใบรับรองของตนเอง

UPD: Telegram ได้ปรับปรุง Bot Api ซึ่งเป็นสาเหตุที่ไม่จำเป็นต้องมีฟังก์ชันแยกต่างหากสำหรับการส่งข้อความอีกต่อไปเมื่อติดตั้ง webhook และเพื่อตอบสนองต่อคำขอ POST คุณสามารถตอบกลับด้วย JSON ที่สร้างขึ้นเดียวกันด้วยข้อความตอบกลับ โดยที่ฟิลด์ใดฟิลด์หนึ่งถูกตั้งค่าเป็น h "method ": "sendMessage" (หรือวิธีอื่นใดที่บอทใช้)

แท็ก:

  • โทรเลข
  • การแนะนำ
  • หลาม3
เพิ่มแท็ก

การตลาดเนื้อหา

จะสร้างบอทใน Telegram โดยไม่มีทักษะการเขียนโปรแกรมได้อย่างไร?

ต้องการแชทบอทของคุณเองเหรอ? ในการออกแบบ คุณไม่จำเป็นต้องมีโค้ด: เทคโนโลยีที่ทันสมัยและบริการฟรีทำให้สามารถสร้างบอตโทรเลขโดยไม่ต้องเขียนโปรแกรมได้อย่างรวดเร็วและง่ายดาย

หากคุณต้องการผลิตภัณฑ์ง่ายๆ ที่ไม่มีปัญญาประดิษฐ์ คุณก็สามารถทำได้ด้วยตัวเอง วันนี้เราจะวิเคราะห์กระบวนการสร้างและตั้งค่าแชทบอทพื้นฐาน: ใช้บริการ Manybot เป็นตัวอย่าง

แต่ก่อนอื่น - ทฤษฎี :)

เราได้เขียนไปแล้วว่าทำไมต้องใช้บอทใน Telegram, Facebook, WhatsApp และผู้ส่งสารอื่น ๆ - แต่เราจะพูดซ้ำอีกครั้ง หากคุณเชื่อตัวเลขดังกล่าว แชทบอทจะกลายเป็น "สิ่งที่ยิ่งใหญ่ต่อไป" ตัวอย่างเช่น ผู้ชมของโปรแกรมส่งข้อความโต้ตอบแบบทันทีมีมากกว่าผู้ชมบนเครือข่ายโซเชียลแล้ว และช่องว่างยังคงเพิ่มขึ้นอย่างต่อเนื่อง ประโยชน์ของบอทสำหรับผู้ชมนั้นชัดเจน สะดวกแบบนี้ จองตั๋ว สั่งอาหาร สั่งแท็กซี่ ค้นหาข้อมูล และเหมาะสำหรับการใช้งานอื่นๆ อีกมากมาย โอกาสที่น่าสนใจยังเปิดกว้างสำหรับธุรกิจ:

  • ช่องทางการตลาดใหม่
  • การแข่งขันต่ำ (ยัง);
  • การโต้ตอบสูง (บอทมีส่วนร่วมอย่างดีในการโต้ตอบ);
  • ประโยชน์ที่แท้จริงของเครื่องมือ (หากคุณให้ คุณจะสร้างมูลค่าและเสริมสร้างภาพลักษณ์ของแบรนด์)

นี่เป็นวิธีที่บอทโทรเลขทำงานโดยประมาณเพื่อสร้าง "หน้าตา" ของธุรกิจ อย่างไรก็ตาม คู่สนทนาของคุณจะทำให้ บริษัท ของคุณมีไหวพริบ "ก้าวหน้า" ท้ายที่สุดแล้วนี่เป็นเทรนด์ที่ดัง แต่ก็ยังหาได้ยากในรัสเซีย

แชทบอททำงานอย่างไร?

เรามาดูหลักการทำงานของโปรแกรมดังกล่าวกัน บอทมีสองประเภท อย่างแรกคือ “ตรงไปตรงมา” ตามคำสั่ง ในขณะที่อย่างที่สองนั้นเต็มไปด้วยปัญญาประดิษฐ์ อย่างแรกชัดเจนกว่า - "ระบบประสาท" ของพวกเขาอยู่ภายใต้อัลกอริธึมและกฎเกณฑ์ที่เข้มงวด “หากผู้ใช้ส่งคำขอ A ฉันจะส่งคำขอ B” เหล็กและไม่มีการตีความ

แต่บอทโทรเลข "เป็นภาระ" กับจิตสำนึกทำงานอย่างไร? พวกเขาพึ่งพาการเรียนรู้ของเครื่องและการขุดข้อมูล หากต้องการสำรวจคำศัพท์เหล่านี้อย่างครบถ้วน คุณต้องเขียนวิทยานิพนธ์ แต่ประเด็นคือการสร้างอัลกอริธึมที่สามารถเรียนรู้ได้ มีสองวิธี: อุปนัย (การเรียนรู้ผ่านการค้นหารูปแบบทั่วไป) และนิรนัย - การเรียนรู้ผ่านการดาวน์โหลดอาร์เรย์ข้อมูลทั้งหมด วิธีที่สองเกี่ยวข้องกับระบบการเรียนรู้ด้วยตนเองหรือไม่นั้นยังคงเป็นข้อถกเถียงกันอยู่ และมีแนวโน้มว่าจะไม่เป็นเช่นนั้น ดังนั้นในวิทยาศาสตร์สมัยใหม่ จึงเป็นเรื่องปกติที่จะต้องพิจารณาอัลกอริธึมการเรียนรู้ของเครื่องให้ทำงานแบบอุปนัย โดยมองหารูปแบบในข้อมูลและตีความข้อมูลเหล่านั้น

แต่ขอทิ้งคณิตศาสตร์ไว้ แพลตฟอร์มพิเศษที่มีอินเทอร์เฟซ "มนุษย์" รู้ว่าบอตโทรเลขทำงานอย่างไร - และนี่ก็เพียงพอแล้วที่จะสร้างมันขึ้นมาโดยไม่ต้องเป็นเจ้าของโค้ด

เปิดตัวบอทโดยไม่ต้องรู้รหัส

กลับไปที่หัวข้อของบทความ - พูดคุยเกี่ยวกับการสร้างแชทบอทโทรเลขโดยใช้บริการ Manybot เราเลือกมันด้วยเหตุผลหลายประการ สิ่งสำคัญคือวันนี้เป็นวิธีแก้ปัญหาที่เหมาะสมที่สุดในรัสเซียด้วยอินเทอร์เฟซที่เรียบง่าย ระบบช่วยในการสร้างบอทในทุกขั้นตอนจริงๆ และไม่จำเป็นต้องมีความรู้เกี่ยวกับโค้ดหรือ API มีทางเลือกอื่นในภาษาอังกฤษ แต่อาจซับซ้อนกว่าหรือไม่ "เป็นมิตร" กับ Telegram Messenger ดังนั้นสำหรับตอนนี้ - Manybot :)

แพลตฟอร์มนี้สร้างขึ้นโดย Mikael Jan ลูกชายของผู้ก่อตั้ง Abbyy และเป็นผู้ประกอบการที่มีความสามารถตามตัวเขาเอง แต่นี่ไม่เกี่ยวกับเขา แต่เกี่ยวกับผลิตผลของเขา Manybot เป็นแชทบอทที่ช่วยคุณปรับแต่งบอทของคุณมาดูกระบวนการทีละขั้นตอนกัน

1. บนเว็บไซต์ไปที่ CTA“ เปิด Manybot ใน Telegram” - การดำเนินการจะถือว่าคุณมีบัญชีใน Messenger อยู่แล้ว :)

2. สิ่งนี้จะนำคุณไปยังผู้ช่วยบอทหลังจากการทักทายเช่นในเทพนิยายหรือเกมคอมพิวเตอร์เขาจะแจกภารกิจต่อไปทันที :) บอททั้งหมดใน Telegram ได้รับการลงทะเบียนและกำหนดค่าผ่าน "บอทหลัก" ซึ่งมีชื่อว่า @BotFather

ดังนั้นในการเพิ่มบอท คุณต้องลงทะเบียนมันกับ “เจ้าพ่อ” ของผู้ส่งสารก่อน ในภาพหน้าจอด้านล่าง Manybot เองก็อธิบายสิ่งนี้ให้เราฟัง


3. ตกลง ไปที่ @BotFather กันดีกว่า- ยังไงก็ตามเขาพูดภาษาอังกฤษได้ ขั้นแรก คุณต้องให้คำสั่ง /newbot หลังจากนั้นมันจะสอบถามเกี่ยวกับชื่อและ “ชื่อผู้ใช้” ของบอท อันแรกจะแสดงเป็นชื่อของแชท และอันที่สองจะเป็น “ที่อยู่” ของบอทในระบบ

หลังจากเลือกชื่อ (หรือค้นหาชื่อฟรีจากชื่อที่เหมาะสม) ให้ป้อนคำสั่ง /token จำเป็นต้องกลับไปที่ Manybot ต่อไปนี้เป็นวิธีสร้างแชทบอทในโทรเลข - ท้ายที่สุดก็พร้อมอย่างเป็นทางการแล้ว สิ่งที่น่าสนใจที่สุดยังคงอยู่ - การตั้งค่าและ "เรียนรู้" คำสั่ง


4. คัดลอกโทเค็นและกลับไปที่ Manybotสิ่งที่เหลืออยู่คือส่งรหัสที่คัดลอกไปยังระบบและกำหนดค่าคำอธิบายบอท นี่คือ CTA ประเภทหนึ่ง - ข้อความเล็กๆ ที่ทักทายผู้ใช้ใหม่ อธิบายว่าเหตุใดจึงจำเป็นต้องใช้บอตโทรเลขสำหรับผู้มีโอกาสเป็นลูกค้า และเหตุใดพวกเขาจึงควรสมัครสมาชิก


5. Manybot ส่งคืนลิงก์ไปยังบอทของคุณมันสามารถทำอะไรบางอย่างได้แล้ว - ตัวอย่างเช่น การใช้คำสั่ง /start จะแสดงข้อความที่ป้อนไว้ก่อนหน้านี้และเมนูสำหรับนักพัฒนา หมายเหตุ: ฟังก์ชั่นหลังข้อความ “ใช้ /ปิดเพื่อหยุดการสมัครของคุณชั่วคราว” จะไม่ปรากฏให้เห็นและผู้ใช้ทั่วไปไม่สามารถใช้งานได้

การโต้ตอบกับบอทจะขึ้นอยู่กับคำสั่ง - ดังนั้นเราจะสร้างหลายคำสั่งสำหรับเรา เลือก /คำสั่ง


6. สร้างทีมอย่างไรก็ตาม หากเกิดความสับสนว่าอินเทอร์เฟซและคำสั่งสำหรับบอทที่ลงทะเบียนแทบจะไม่มาจากไหน ทำซ้ำอีกครั้ง นี่คืออินเทอร์เฟซของบริการ Manybot ลูกค้าของคุณจะไม่เห็นฟังก์ชันการทำงาน ดังนั้นแพลตฟอร์มบอทจะขอให้คุณเลือกชื่อทีม


7. ตอนนี้เราจะสร้างปุ่มเมนูหลัก,ติดทีม. เลือกรายการ: "ปรับแต่งเมนูหลัก" / "เพิ่มรายการเมนู" เลือกคำสั่ง (“/read_news” ในกรณีของเรา) และตั้งชื่อรายการ (สำหรับเราคือ "บทความใหม่")


8. ภาพหน้าจอด้านล่างคือ “การทดสอบการทำงาน” ของทีมเราทำงานเหมือนนาฬิกา :)


9. เพิ่มจดหมายข่าวแบบสุ่มเลือกรายการเมนู "เปิดใช้งานโหมดข้อความสุ่ม" และแนบโพสต์ให้กับทีม - ตั้งแต่สองถึงหลายร้อย โดยไม่ได้ระบุขีดจำกัด ดังนั้นตามคำขอของผู้ใช้ ระบบจะออกโพสต์เหล่านี้แบบสุ่มตามลำดับ

เราตัดสินใจเพิ่มคำสั่ง /random_article ซึ่งเชื่อมโยงกับรายการ "รับบทความแบบสุ่ม" มีสามข้อความที่แนบมากับทีมพร้อมลิงก์ไปยังโพสต์บล็อก RoboMarketing

ภาพหน้าจอด้านล่างแสดงวิธีที่เราทำ:

และ "การทดสอบการทำงาน" อีกครั้ง ใช้งานได้ดี :)

แทนที่จะได้ข้อสรุป

แน่นอนว่าสิ่งเหล่านี้เป็นพื้นฐาน - เพียงสองประเด็นเบื้องต้น แต่ตอนนี้คุณเข้าใจวิธีสร้างบอทโทรเลขสำหรับหุ่นจำลองแล้ว คุณมีฐานที่ขยายออกไปด้วยการอ่านบทความ เรียนภาษาโปรแกรม และการศึกษาด้วยตนเองโดยทั่วไป

Manybot อยู่ไกลจากบริการเดียว มี Meya ภาษาอังกฤษสำหรับผู้สร้างบอทขั้นสูง, ChatFuel สำหรับ Facebook Messenger และตัวเลือกอื่นๆ อีกมากมาย... ซึ่งเราจะพูดถึงในเอกสารต่อไปนี้ 😉

หุ่นยนต์ใน Telegram เป็นโปรแกรมที่ดำเนินการบางอย่างโดยอัตโนมัติและตอบสนองต่อคำสั่งของผู้ใช้ นักพัฒนา Messenger สนับสนุนการสร้างสรรค์ของพวกเขา ซึ่งเป็นเหตุผลว่าทำไมจึงเป็นผู้นำในด้านจำนวนหุ่นยนต์ จะสร้าง Telegram bot สำหรับธุรกิจของคุณหรือเพื่อการใช้งานปกติได้อย่างไร? พิจารณาความเป็นไปได้และเทคโนโลยี

ตัวเลือกที่มีอยู่

มีสามวิธีในการสร้างบอทใน Telegram:

  1. สร้างในตัวสร้าง นี่อาจเป็นบริการส่งข้อความอื่น เช่น @manybot หรือเชลล์ออนไลน์เช่น Chatfuel
  2. การพัฒนาที่เป็นอิสระ ในการทำเช่นนี้ คุณต้องมีทักษะในการเขียนโปรแกรมและการปรับใช้แอปพลิเคชันเซิร์ฟเวอร์ โดยเริ่มจากการติดตั้งซอฟต์แวร์
  3. ซื้อ. ปัจจุบันมีบริษัทและนักพัฒนาเอกชนหลายแห่งที่นำเสนอผลิตภัณฑ์ที่ปรับแต่งตามความต้องการ ราคาเริ่มต้นที่ 500 รูเบิล แต่เฉลี่ย 10-15,000

หากคุณมีเวลาและทักษะด้านซอฟต์แวร์ เราขอแนะนำให้พยายามสร้างมันในตัวออกแบบ ซึ่งจะช่วยให้คุณเข้าใจวิธีการทำงานของโปรแกรม ซึ่งจะเป็นประโยชน์เมื่อสั่งซื้อหากคุณตัดสินใจทำเช่นนั้น

กระบวนการเขียนโปรแกรม

บริการหลายอย่างได้รับการออกแบบเพื่อทำให้กระบวนการช้อปปิ้งออนไลน์ง่ายขึ้น การพัฒนาใช้วิธีการชำระเงิน API ซึ่งช่วยให้คุณสามารถเชื่อมโยงระบบการชำระเงินเข้ากับโปรแกรมได้ กระบวนการนี้ดำเนินการตามอัลกอริทึม:

  1. นักพัฒนาฝังคีย์และเลือกผู้ให้บริการที่เชื่อมต่อกับระบบเพื่อทำธุรกรรม
  2. ปุ่ม "ชำระเงิน" จะปรากฏในบอท
  3. ผู้ใช้หุ่นยนต์สามารถชำระเงินได้โดยการระบุรายละเอียด พวกเขาเชื่อมโยงกับบัญชีของเขา การชำระเงินผ่านมือถือก็มีให้บริการเช่นกัน
  4. ธุรกรรมทางการเงินจะดำเนินการโดยตรงระหว่างลูกค้าและระบบการชำระเงิน โทรเลขไม่เกี่ยวข้องกับกระบวนการนี้ หน้าที่ของมันคือการจัดหาแพลตฟอร์มสำหรับการปรับใช้ฟังก์ชันต่างๆ ด้วยเหตุนี้ ข้อมูลการชำระเงินจึงไม่สามารถใช้ได้สำหรับบุคคลที่สาม
  5. ลูกค้าจะได้รับรายงานธุรกรรมที่มีรายละเอียดการซื้อทั้งหมด

ในขณะเดียวกัน ผู้พัฒนา Messenger ก็ไม่ยอมรับการเรียกร้องใด ๆ โดยเปลี่ยนความรับผิดชอบทั้งหมดไปที่ระบบการชำระเงินและตัวผู้ใช้เอง

แต่พวกเขาสัญญาว่าจะบล็อกผู้ให้บริการที่ไม่น่าเชื่อถือตามรีวิว วันนี้คุณสามารถสร้างบอทใน Telegram เพื่อขายให้กับ Qiwi และ Yandex.Money

สร้างบอทด้วยตัวเอง

โปรแกรมจำลองคู่สนทนาของ Telegram เป็นโปรแกรมที่เปิดตัวและทำงานเคียงข้างคุณ มันส่งคำขอไปยัง Telegram Bot API ซึ่งค่อนข้างง่าย:

  • โปรแกรมเข้าถึงพารามิเตอร์ที่ตั้งไว้โดยการอ้างอิง
  • Telegram ตอบสนองด้วยอาร์เรย์ JSON

ใน Telegram แทนที่จะอัปโหลดข้อความด้วยตนเอง คุณสามารถติดตั้ง webhook เพื่อให้ส่งจดหมายแต่ละตัวได้ด้วยตนเอง หากต้องการสร้างบอต Telegram ใน Python ควรใช้เครื่องปฏิกรณ์บางประเภท เช่น tornado.web

ก่อนที่คุณจะสร้างบอตโทรเลขและเปิดใช้งาน คุณต้องไปยังที่อยู่ที่ต้องการและจับสัญญาณเอาท์พุต การทำเช่นนี้เพื่อคืนลักษณะการทำงานของเหตุการณ์การขนถ่ายด้วยตนเอง

ตรรกะจะอยู่ในคลาส tornado.web.RequestHandler ซึ่งเครื่องปฏิกรณ์ยอมรับในการประมวลผลคำขอ

CMD ย่อมาจากพจนานุกรมของคำสั่งที่มีอยู่ทั้งหมด Send_reply เป็นฟังก์ชันสำหรับส่งการตอบกลับ ยอมรับอาร์เรย์ข้อความสำเร็จรูป

ทีม

ก่อนอื่น คุณต้องสอนโปรแกรมบอท Telegram เกี่ยวกับค่าคงที่ /start และ /help:

วัตถุข้อความ ['จาก'] เป็นอาร์เรย์ประเภทผู้ใช้ จากนั้นบอทจะได้รับข้อมูลผู้ใช้ ID และชื่อของเขา จะดีกว่าถ้าฟังก์ชันตอบกลับเป็นของ message['chat']['id'] ดังนั้นเมื่อทำการสื่อสารจะมีผู้ใช้และในกรณีของการแชท - รหัสของอันหลัง

การติดตั้ง /start มีสองฟังก์ชันพร้อมกัน:

จำเป็นต้องมีคำสั่งที่ไม่มีพารามิเตอร์เพื่อแสดงข้อมูลเกี่ยวกับบอท
พร้อมพารามิเตอร์ – เพื่อการระบุตัวตน

ตอนนี้คุณสามารถสร้างงานที่กำหนดเองได้ ตัวอย่างเช่น /base64

สำหรับผู้ที่ใช้ Mobile Telegram จะมีประโยชน์ที่จะให้ @BotFather รายการคำสั่งที่คู่สนทนาเสมือนใหม่ควรยอมรับ:

หากผู้ใช้ Telegram ต้องการดูรายการงานที่มีอยู่ (เช่น ค้นหาวิธีฆ่าโปรแกรมหลังจากทำงานเสร็จ) เขาจะต้องเขียน "/"

วิธีสอนบอทให้พูด

โทรเลขส่งข้อความทั้งหมด ข้อ จำกัด เกี่ยวกับความจำเป็นในการนำหน้าคำสั่งด้วยเครื่องหมายทับนั้นถูกสร้างขึ้นเพื่อความสะดวกของผู้ใช้เท่านั้น สิ่งนี้ทำให้คุณสามารถสอนโปรแกรมให้ตอบสนองได้เหมือนมนุษย์ เพื่อให้เธอมีโอกาสรับข้อความทั้งหมดในกลุ่ม คุณต้องเขียน /setprivacy ไปที่ผู้ช่วย @BotFather เพื่อปิดการใช้งานความเป็นส่วนตัว

คุณควรเพิ่มตัวจัดการให้กับตัวจัดการ:

รายการคำสั่งจะต้องมีคำพูด:

ค่า 75 ในที่นี้แสดงถึงความน่าจะเป็นของสิ่งที่ผู้ใช้ต้องการจะพูด ค่าคงที่ format_map สะดวกสำหรับการอธิบายสตริงที่ต้องมีการทดแทน

วิธีนี้บอทจะสามารถตอบสนองต่อคำทักทายและเรียกคู่สนทนาด้วยชื่อได้

ข้อความที่ส่งสามารถเป็นได้ไม่เพียงแต่ข้อความเท่านั้น

ตอนนี้คุณรู้วิธีสร้างบอทโทรเลขแล้ว ไม่เพียงแต่คุณสามารถเขียนวลีเท่านั้น แต่ยังแชร์รูปภาพและไฟล์เสียงได้อีกด้วย

ตัวอย่างเช่น คุณสามารถขยายพจนานุกรม RESPONSES ได้ดังนี้

เราเขียน /start ถึงเขาและรับรายการคำสั่งทั้งหมดของเขา
อันแรกและอันหลัก - /newbot - เราส่งมันไปให้เขา และบอทขอให้เขาตั้งชื่อบอทใหม่ของเรา ข้อจำกัดเพียงอย่างเดียวของชื่อคือต้องลงท้ายด้วย "bot" หากประสบความสำเร็จ BotFather จะส่งคืนโทเค็นบอทและลิงก์เพื่อเพิ่มบอทไปยังผู้ติดต่อของคุณอย่างรวดเร็ว ไม่เช่นนั้นคุณจะต้องใช้สมองมากกว่าชื่อ

นี่ก็เพียงพอแล้วสำหรับการเริ่มต้น ผู้ที่อวดรู้เป็นพิเศษสามารถกำหนดอวตาร คำอธิบาย และข้อความต้อนรับให้กับบอทได้ที่นี่

อย่าลืมตรวจสอบโทเค็นที่ได้รับโดยใช้ลิงก์ api.telegram.org/bot พวกเขากล่าวว่า /getMe ไม่ได้ผลเสมอไปในครั้งแรก

2. การเขียนโปรแกรม

ฉันจะสร้างบอทใน Python3 อย่างไรก็ตาม เนื่องจากความเพียงพอของภาษานี้ อัลกอริธึมจึงสามารถถ่ายโอนไปยังภาษาอื่นได้อย่างง่ายดาย

Telegram ช่วยให้คุณไม่ต้องอัปโหลดข้อความด้วยตนเอง แต่ต้องติดตั้ง webHook จากนั้นพวกเขาจะส่งข้อความแต่ละข้อความด้วยตนเอง สำหรับ Python เพื่อไม่ให้ยุ่งยากกับ cgi และเธรด จึงสะดวกที่จะใช้เครื่องปฏิกรณ์บางประเภท ดังนั้นฉันจึงเลือก tornado.web สำหรับการนำไปใช้งาน (สำหรับ GAE สะดวกในการใช้ชุด Python2+Flask)

เฟรมบอท:

URL = "https://api.telegram.org/bot%s/" % BOT_TOKEN MyURL = "https://example.com/hook" api = request.Session() application = tornado.web.Application([ ( r"/", ตัวจัดการ), ]) ถ้า __name__ == "__main__": signal.signal(signal.SIGTERM, signal_term_handler) ลอง: set_hook = api.get(URL + "setWebhook?url=%s" % MyURL) ถ้า set_hook.status_code != 200: logging.error("ไม่สามารถตั้งค่า hook: %s. Quit." % set_hook.text) exit(1) application.listen(8888) tornado.ioloop.IOloop.current().start () ยกเว้น KeyboardInterrupt: signal_term_handler(signal.SIGTERM, ไม่มี)
ที่นี่ เมื่อเริ่มต้นบอท เราจะติดตั้งเว็บฮุคตามที่อยู่ของเรา และจับสัญญาณทางออกเพื่อส่งคืนพฤติกรรมด้วยการยกเลิกการโหลดเหตุการณ์ด้วยตนเอง

แอปพลิเคชันทอร์นาโดสำหรับการประมวลผลคำขอยอมรับคลาส tornado.web.RequestHandler ซึ่งจะมีตรรกะของบอท

ตัวจัดการคลาส (tornado.web.RequestHandler): def post (self): ลอง: logging.debug ("Got request: %s" % self.request.body) update = tornado.escape.json_decode(self.request.body) message = update["message"] text = message.get("text") ถ้าข้อความ: logging.info("MESSAGE\t%s\t%s" % (ข้อความ["chat"]["id"], ข้อความ)) ถ้า text == "/": command, *arguments = text.split(" ", 1) response = CMD.get(command, not_found)(arguments, message) logging.info("REPLY\t%s \t%s" % (message["chat"]["id"], response)) send_reply(response) ยกเว้นข้อยกเว้นเป็น e: logging.warning(str(e))
ในที่นี้ CMD คือพจนานุกรมของคำสั่งที่ใช้ได้ และ send_reply เป็นฟังก์ชันสำหรับส่งการตอบกลับ ซึ่งรับออบเจ็กต์ Message ที่สร้างไว้แล้วเป็นอินพุต

จริงๆ แล้วโค้ดของมันค่อนข้างง่าย:

Def send_reply (ตอบกลับ): ถ้า "ข้อความ" ตอบกลับ: api.post (URL + "sendMessage", data=response)

เมื่ออธิบายตรรกะทั้งหมดของบอทแล้ว คุณสามารถเริ่มใช้คำสั่งสำหรับบอทได้

3. ทีม

ก่อนอื่น คุณต้องปฏิบัติตามแบบแผน Telegram และสอนบอทด้วยคำสั่งสองคำสั่ง: /start และ /help:

Def help_message(อาร์กิวเมนต์, ข้อความ): response = ("chat_id": message["chat"]["id"]) result = ["เฮ้ %s!" % message["from"].get("first_name"), "\rI สามารถยอมรับเฉพาะคำสั่งเหล่านี้:"] สำหรับคำสั่งใน CMD: result.append(command) response["text"] = "\n\t" .join(result) ตอบกลับการตอบกลับ

โครงสร้างข้อความ ["จาก"] เป็นออบเจ็กต์ประเภท User โดยจะให้ข้อมูลเกี่ยวกับทั้ง ID ผู้ใช้และชื่อของเขาแก่บอต สำหรับการตอบกลับ การใช้ข้อความ["แชท"]["id"] จะมีประโยชน์มากกว่า - ในกรณีของการสื่อสารส่วนตัวจะมีผู้ใช้ และในกรณีของการแชท - รหัสแชท มิฉะนั้น คุณอาจได้รับสถานการณ์ที่ผู้ใช้เขียนในการแชท และบอทตอบกลับในข้อความส่วนตัว

คำสั่ง /start ที่ไม่มีพารามิเตอร์มีวัตถุประสงค์เพื่อแสดงข้อมูลเกี่ยวกับบอท และมีพารามิเตอร์ไว้เพื่อระบุตัวตน มีประโยชน์ที่จะใช้สำหรับการดำเนินการที่ต้องได้รับอนุญาต

หลังจากนี้ คุณสามารถเพิ่มคำสั่งของคุณเองได้ เช่น /base64:

Def base64_decode(อาร์กิวเมนต์, ข้อความ): response = ("chat_id": message["chat"]["id"]) ลอง: response["text"] = b64decode(" ".join(arguments).encode("utf8 ")) ยกเว้น: การตอบสนอง ["ข้อความ"] = "ไม่สามารถถอดรหัสได้" ในที่สุด: ตอบกลับ

สำหรับผู้ใช้ Telegram มือถือ การบอก @BotFather ว่าคำสั่งใดที่บอทของเรายอมรับจะมีประโยชน์:
ฉัน: /setcommands
BotFather: เลือกบอทเพื่อเปลี่ยนรายการคำสั่ง
ฉัน: @******_bot
BotFather: โอเค ส่งรายการคำสั่งสำหรับบอทของคุณมาให้ฉัน กรุณาใช้รูปแบบนี้:

Command1 - คำอธิบาย
command2 - คำอธิบายอื่น
ฉัน:
whoisyourdaddy - ข้อมูลเกี่ยวกับผู้แต่ง
base64 - ถอดรหัส Base64
BotFather: สำเร็จ! อัปเดตรายการคำสั่งแล้ว /ช่วย

ด้วยคำอธิบายนี้ หากผู้ใช้พิมพ์ / Telegram จะแสดงรายการคำสั่งที่มีอยู่ทั้งหมดอย่างเป็นประโยชน์

4. เสรีภาพ

อย่างที่คุณเห็น Telegram ส่งข้อความทั้งหมด โดยไม่แยก และข้อจำกัดที่คำสั่งขึ้นต้นด้วยเครื่องหมายทับนั้นเพื่อความสะดวกของผู้ใช้มือถือเท่านั้น ด้วยเหตุนี้ คุณจึงสามารถสอนบอทให้พูดอย่างมนุษย์ปุถุชนได้

อัปเดต:ตามที่พวกเขาแนะนำอย่างถูกต้อง สิ่งนี้จะเกิดขึ้นผ่านการสื่อสารส่วนตัวเท่านั้น ในการแชท เฉพาะข้อความที่ขึ้นต้นด้วยคำสั่ง (/ ) (https://core.telegram.org/bots#privacy-mode)

เพื่อให้บอทรับข้อความทั้งหมดเป็นกลุ่ม ให้เขียนคำสั่ง @BotFather /ตั้งค่าความเป็นส่วนตัวและปิดความเป็นส่วนตัว

ขั้นแรก เพิ่มตัวจัดการให้กับตัวจัดการ:

ถ้า text == "/": ... else: response = CMD[" "](ข้อความ) logging.info("ตอบกลับ\t%s\t%s" % (ข้อความ["แชท"]["id"], ตอบกลับ)) send_reply(ตอบกลับ)
จากนั้นเราก็เพิ่มคำพูดหลอกเข้าไปในรายการคำสั่ง:

การตอบสนอง = ( "สวัสดี": ["สวัสดี!", "สวัสดี!", "ยินดีต้อนรับ!", "สวัสดี (ชื่อ)!"], "สวัสดี": ["สวัสดี!", "สวัสดี (ชื่อ) )!", "สวัสดี!", "ยินดีต้อนรับ!"], "สวัสดี!": ["สวัสดี!", "สวัสดี (ชื่อ)!", "ยินดีต้อนรับ!", "สวัสดี!"], "ยินดีต้อนรับ" : ["สวัสดี!", "สวัสดี!", "สวัสดี!", "สวัสดี (ชื่อ)!",], ) def human_response(ข้อความ): leven = fuzzywuzzy.process.extract(message.get("text `, ""), RESPONSES.keys(), Limit=1) response = ("chat_id": message["chat"]["id"]) ถ้าเลเวน< 75: response["text"] = "I can not understand you" else: response["text"] = random.choice(RESPONSES.get(leven)).format_map({"name": message["from"].get("first_name", "")}) return response
ในที่นี้ ค่าคงที่เชิงประจักษ์ 75 สะท้อนถึงความน่าจะเป็นที่ผู้ใช้ต้องการจะพูดค่อนข้างดี และ format_map นั้นสะดวกสำหรับคำอธิบายเดียวกันของสตริงทั้งที่ต้องมีการทดแทนและไม่มี ตอนนี้บอทจะตอบสนองต่อคำทักทายและบางครั้งก็เรียกชื่อคุณด้วย

5. ไม่ใช่ข้อความ

เช่นเดียวกับผู้ใช้ Telegram ทั่วไป บอทไม่เพียงแต่สามารถเขียนข้อความเท่านั้น แต่ยังแชร์รูปภาพ เพลง และสติกเกอร์ได้อีกด้วย

ตัวอย่างเช่น ลองขยายพจนานุกรม RESPONSES:

คำตอบ["กี่โมงแล้ว?"] = [" "," (วันที่) UTC"]
และเราจะจับข้อความ :

หากการตอบกลับ ["ข้อความ"] == " ": การตอบสนอง["สติกเกอร์"] = "BQADAgADeAcAAlOx9wOjY2jpAAHq9DUC" จากการตอบกลับ ["ข้อความ"]
จะเห็นได้ว่าตอนนี้โครงสร้างข้อความไม่มีข้อความอีกต่อไปแล้ว ดังนั้นจึงจำเป็นต้องแก้ไข send_reply:

Def send_reply (ตอบกลับ): ถ้า "สติกเกอร์" ตอบกลับ: api.post (URL + "sendSticker", data=response) elif "text" ตอบกลับ: api.post (URL + "sendMessage", data=response)
เพียงเท่านี้ บอทจะส่งสติกเกอร์เป็นครั้งคราวแทนเวลา:

6. โอกาส

ด้วยความสะดวกของ API และการเริ่มต้นอย่างรวดเร็ว บอท Telegram สามารถกลายเป็นแพลตฟอร์มที่ดีในการดำเนินการอัตโนมัติ ตั้งค่าการแจ้งเตือน สร้างแบบทดสอบ และการแข่งขันตามงาน (CTF, DozoR และอื่น ๆ )

เมื่อมองย้อนกลับไปฉันสามารถพูดได้ว่าตอนนี้มีความวิปริตน้อยลงและงานก็โปร่งใสมากขึ้น

7. ข้อจำกัด

น่าเสียดายที่ในขณะนี้มีข้อ จำกัด ในการใช้ webHook - ใช้งานได้บน https เท่านั้นและมีใบรับรองที่ถูกต้องเท่านั้น ซึ่งตัวอย่างเช่นยังคงสำคัญสำหรับฉันเนื่องจากขาดการสนับสนุน DNS แบบไดนามิกโดยหน่วยงานออกใบรับรอง

โชคดีที่ Telegram สามารถทำงานร่วมกับการอัปเดตด้วยตนเองได้ ดังนั้นคุณสามารถสร้างบริการ Puller อื่นที่จะดาวน์โหลดและส่งไปยังที่อยู่ในท้องถิ่นโดยไม่ต้องเปลี่ยนรหัส:

ในขณะที่เป็นจริง: r =ร้องขอ.get(URL + "?offset=%s" % (สุดท้าย + 1)) ถ้า r.status_code == 200: สำหรับข้อความใน r.json()["result"]: สุดท้าย = int (ข้อความ ["update_id"]) request.post("http://localhost:8888/", data=json.dumps(message), headers=("Content-type": "application/json", "ยอมรับ" : "ข้อความ/ธรรมดา")) else: logging.warning("FAIL " + r.text) time.sleep(3)

ป.ล. เกี่ยวกับจุดที่ 7 ฉันพบวิธีแก้ปัญหาที่สะดวก - การโฮสต์บอทไม่ได้อยู่ที่บ้าน แต่อยู่บน Heroku เนื่องจากชื่อทั้งหมดเช่น *.herokuapp.com ได้รับการปกป้องโดยใบรับรองของตนเอง

UPD: Telegram ได้ปรับปรุง Bot Api ซึ่งเป็นสาเหตุที่ไม่จำเป็นต้องมีฟังก์ชันแยกต่างหากสำหรับการส่งข้อความอีกต่อไปเมื่อติดตั้ง webhook และเพื่อตอบสนองต่อคำขอ POST คุณสามารถตอบกลับด้วย JSON ที่สร้างขึ้นเดียวกันด้วยข้อความตอบกลับ โดยที่ฟิลด์ใดฟิลด์หนึ่งถูกตั้งค่าเป็น h "method ": "sendMessage" (หรือวิธีอื่นใดที่บอทใช้)

แท็ก: เพิ่มแท็ก

ได้รับความนิยมอย่างรวดเร็วแม้ว่าจะเพิ่งปรากฏเมื่อไม่นานมานี้ก็ตาม คุณสมบัติที่เป็นประโยชน์ของ Messenger คือการเข้ารหัสข้อมูลที่เชื่อถือได้โดยใช้โปรโตคอล MTProto จำนวนผู้ใช้ Telegram เพิ่มขึ้นทุกวัน ซึ่งเป็นโอกาสที่ดีสำหรับธุรกิจ ทีมพัฒนาได้สร้างเครื่องมือมากมายที่ช่วยให้คุณสามารถใช้แอปพลิเคชันได้ไม่เพียงเพื่อความบันเทิงเท่านั้น แต่ยังเพื่อจุดประสงค์ในการจัดระเบียบและรักษาขั้นตอนการทำงานของคุณอีกด้วย

กลุ่ม ช่องทาง และบอทใน Telegram สามารถเป็นผู้ช่วยที่มีประโยชน์ได้หากคุณตัดสินใจที่จะทำกิจกรรมเชิงพาณิชย์ผ่านแหล่งข้อมูลทางอินเทอร์เน็ต บริษัทขนาดใหญ่หลายแห่งประสบความสำเร็จในการใช้เครื่องมือ Telegram เพื่อทำงานร่วมกับลูกค้า การเปิดชุมชน ช่อง หรือการเปิดตัวหุ่นยนต์ของคุณเองนั้นไม่ใช่เรื่องยาก แต่จะนำมาซึ่งผลประโยชน์มากมาย บอทสามารถใช้ตัวเลือกต่างๆ ได้ตั้งแต่การแจ้งผู้คนเกี่ยวกับโปรโมชั่นที่กำลังจะมาถึง ส่วนลด และข่าวสารอื่นๆ การให้คำปรึกษาออนไลน์ ไปจนถึงการซื้อ สำหรับร้านค้านี่เป็นโอกาสเพิ่มเติมในการเพิ่มยอดขาย

ใครก็ตามที่มีทักษะการเขียนโปรแกรมพื้นฐานอย่างน้อยก็สามารถสร้างบอทการขายได้ เครื่องมือดังกล่าวจะทำให้เจ้าของเป็นอิสระจากงานประจำและช่วยดำเนินธุรกิจ สำหรับผู้ที่ไม่พูดภาษาโปรแกรมก็ควรใช้บริการสร้างหุ่นยนต์จะดีกว่า

วิธีสร้างบอทใน Telegram

คุณสามารถสร้างบอทได้ด้วยตัวเองโดยใช้ขั้นตอนตามลำดับ ก่อนอื่นคุณต้องสร้างช่องว่างมาตรฐาน จากนั้นจะต้องติดตั้งตัวเลือกที่จำเป็นซึ่งจะเปลี่ยนบอทดั้งเดิมให้กลายเป็นผู้ขายจริง สามารถทำการขายได้อย่างอิสระ นอกจากนี้ยังสามารถเชื่อมโยงร้านค้าออนไลน์ที่มีอยู่ได้อีกด้วย

กระบวนการสร้างเริ่มต้นด้วยการติดต่อบอท BotFather ซึ่งเป็นผู้ปกครองของหุ่นยนต์ Telegram ด้วยความช่วยเหลือทำให้มีผู้ช่วยส่วนใหญ่เพื่อวัตถุประสงค์ต่างๆ เราสร้างบอทของเราเองโดยใช้พ่อของครอบครัว เพื่อสิ่งนี้คุณต้องการ:

บริการสำหรับการสร้างบอท

หุ่นยนต์ที่สร้างขึ้นโดยใช้ BotFather ต้องการการพัฒนาเพิ่มเติม บริการบางอย่างให้โอกาสในการฝึกอบรมเขาได้ฟรี

  1. ตัวสร้างจะอนุญาตให้คุณกำหนดค่าบอทโดยไม่ต้องมีความรู้พิเศษเกี่ยวกับโปรแกรมเมอร์ ในการดำเนินการนี้ คุณต้องค้นหาและเพิ่มโรบอต @Chatfuel ใน Telegram จากนั้นให้คำสั่ง /addbot แก่มัน และป้อนโทเค็นที่ได้รับจาก BotFather การสร้างใหม่ของคุณจะถูกบันทึกไว้ในบริการ Paquebot ซึ่งคุณสามารถตั้งโปรแกรมให้เหมาะกับความต้องการของคุณ รวมถึงการตั้งค่าบอทการขายรถยนต์ Telegram
  2. โฟลว์ XO. บริการที่เชี่ยวชาญด้านบอทธุรกิจ ตัวเลือกแพลตฟอร์มบางตัวนั้นฟรี แต่ฟังก์ชันหลักมีอัตราภาษีที่แตกต่างกัน
  3. บริการนี้ช่วยให้คุณสร้างร้านค้าใน Telegram และคุณไม่จำเป็นต้องลิงก์ไปยังเว็บไซต์ที่มีอยู่ ด้วยการใช้หุ่นยนต์ @botoboto_bot คุณจะได้รับบอทการขายของคุณเอง Botobot สามารถใช้งานได้ฟรีสำหรับร้านค้าที่มีผลิตภัณฑ์มากถึง 20 รายการ เหนือตัวเลขนี้ บริการจะคิดภาษี

บอทการขายหรือเครื่องมือทางธุรกิจอื่น ๆ สามารถกำหนดเองได้โดยผู้เชี่ยวชาญจากบริการใดบริการหนึ่ง นี่คือวิธีการสร้างหุ่นยนต์ขายรถยนต์ของ Qiwi เพื่อให้ผู้ใช้สามารถทำงานกับกระเป๋าเงิน Qiwi ของตนได้ ผู้เชี่ยวชาญที่มีประสบการณ์จะช่วยคุณตั้งค่าการชำระค่าสินค้าและคำนึงถึงความแตกต่างทั้งหมดของร้านค้า คุณสามารถขอความช่วยเหลือจากสมาชิกของชุมชนเฉพาะทางใน Telegram

บอกเพื่อน