Skip to content

OkLine — เขียนบอทด้วยบัญชี LINE ส่วนตัวของคุณเอง

OkLine คือ Python SDK แบบ unofficial สำหรับทำงานอัตโนมัติกับ บัญชี LINE ส่วนตัวของคุณเอง — ล็อกอินด้วย QR code ใน terminal, ส่ง/รับข้อความในนามของคุณเอง, ถอดรหัส E2EE Letter Sealing ได้ทั้งช่องทางส่งและรับ โดยไม่ต้องสมัคร developer ไม่ต้องมี Official Account และไม่ต้องเปิด webhook

OkLine จำลอง protocol ของ LINE Chrome extension ตัวจริง (CHROMEOS 3.7.2) แบบครบถ้วน รวมถึง header X-Hmac ที่เกตเวย์บังคับใช้ (คำนวณด้วย ltsm.wasm ตัวจริงของ LINE ผ่าน Node bridge เล็ก ๆ) ทำให้ request ที่ส่งออกไปเหมือนกับของ client จริง byte-to-byte

ตรวจสอบความเข้ากันได้กับ LINE Chrome extension 3.7.2 แล้ว — กันยายน 2026 (v2.9.2) · ผ่านเทสต์ออฟไลน์ 703 เคส และ live test กับบัญชีจริง

ทำไมต้อง OkLine

ใครเคยค้นหาว่า "ส่งข้อความ line ด้วย python ฟรี" หรือ "เขียนบอท line อัตโนมัติ บัญชีตัวเอง" น่าจะเจอคำตอบเดิม ๆ ว่าต้องไปสมัคร developers.line.biz สร้าง provider สร้าง channel รับ webhook แล้วโดนลิมิต push message — ทั้งที่สิ่งที่เราอยากทำแค่ "ส่งข้อความจากบัญชีของตัวเอง" เท่านั้น OkLine เปลี่ยนโจทย์นี้ใหม่ทั้งหมด:

  • line api ไม่ต้องสมัคร developer — ใช้บัญชี LINE ที่คุณมีอยู่แล้ว ล็อกอินด้วย QR ผ่าน terminal ไม่ต้องมี channel access token ไม่ต้องมี bot channel
  • ส่งในนามตัวคุณเอง — ถึงเพื่อน กลุ่ม และแชทของตัวคุณเองจริง ๆ ไม่ใช่บอท แปลกหน้าที่คนต้องแอดก่อน
  • ไม่ต้องมี webhook / ngrok / เซิร์ฟเวอร์สาธารณะ — รับข้อความแบบ polling (SSE stream) จากเครื่องของคุณเองได้เลย
  • ส่งได้ไม่จำกัด — ไม่มีโควตา ~200 push messages ต่อเดือน เพราะใช้บัญชี ของคุณเอง
  • E2EE Letter Sealing ครบวงจร — เข้ารหัสตอนส่ง ถอดรหัสตอนรับ ทั้งแชท 1:1 และกลุ่ม รวมถึงไฟล์มีเดียที่ HMAC-verified (จุดที่ library ยุคก่อนอย่าง linepy ล้มเลิก)
  • Bot framework + CLI@bot.on_message สำหรับเขียนบอทเต็มรูปแบบ และ python -m okline สำหรับเรียกใช้จาก shell ได้ทันที

ติดตั้ง

pip install okline
# อยากให้วาด QR ล็อกอินใน terminal เป็นภาพ? ติดตั้ง extra เพิ่ม
pip install "okline[qr]"

สิ่งที่ต้องมี:

อย่าง ทำไมต้องมี
Python 3.9+ รัน library
Node.js 18+ ใน PATH เซ็นลายเซ็น X-Hmac ที่เกตเวย์ LINE บังคับ ผ่าน ltsm.wasm ที่ bundle มากับแพ็กเกจ (ตรวจด้วย node --version)

ถ้าติดตั้ง Node ไว้ที่ตำแหน่งไม่ปกติ กำหนด path ได้ด้วยตัวแปร environment LINE_NODE=/full/path/to/node

เริ่มต้นใน 3 นาที

1) ล็อกอินครั้งเดียว — สแกน QR ด้วยแอป LINE (ตั้งค่า › เพิ่มเพื่อน › QR code) แล้วยืนยัน PIN บนมือถือ:

okline login

เซสชัน (รวมคีย์ E2EE) จะถูกบันทึกลง ./tokens.json ให้คำสั่งและสคริปต์อื่นใช้ซ้ำ โดยไม่ต้องสแกนใหม่อีก

2) ส่งข้อความแรกจาก Python:

from okline import OkLine

api = OkLine.from_tokens_file("tokens.json")  # โหลดเซสชัน + คีย์ E2EE คืนมา
print(api.get_profile()["displayName"])
api.send_text("u0123456789abcdef0123456789abcdef", "สวัสดีจาก Python")

3) บอท echo ใน 3 บรรทัด:

from okline import OkLine, Bot

api = OkLine.from_tokens_file("tokens.json")
bot = Bot(api)
bot.on_message(lambda ctx: ctx.reply(f"คุณพิมพ์ว่า: {ctx.text}"))
bot.run()

แล้ว Messaging API ทางการล่ะ

OkLine (unofficial) Messaging API (ทางการ)
บัญชีที่ใช้ บัญชีส่วนตัวของคุณ บอทแยกต่างหาก ผู้รับต้องแอบเพื่อนก่อน
ต้องสมัคร developer ไม่ต้อง ต้อง (developers.line.biz + provider + channel)
รับข้อความ Polling — ไม่ต้องมี webhook, ngrok, เซิร์ฟเวอร์ Webhook เท่านั้น (ต้องมี HTTPS สาธารณะ)
push message ฟรี ไม่จำกัด ราว ๆ 200 ข้อความ/เดือน
E2EE Letter Sealing ส่งและถอดรหัสได้ ไม่มี

ความเสี่ยงที่ควรรู้ (พูดตรง ๆ)

OkLine เป็น unofficial SDK ไม่ได้เกี่ยวข้องกับ LINE Corporation และการทำงาน อัตโนมัติกับบัญชีส่วนตัว ขัดกับข้อกำหนดการใช้บริการของ LINE จริง ๆ — ไม่มีใคร รับประกันว่าบัญชีจะไม่ถูกจำกัดหรือระงับ (LINE เคยบังคับให้โปรเจกต์ลักษณะเดียวกัน ลบโค้ดออกไปแล้วในปี 2014) ข้อแนะนำคือใช้กับบัญชีของตัวเองเท่านั้น อย่าส่งสแปม ตั้ง rate ให้เหมาะสม และเก็บ token กับคีย์ E2EE ให้ดีเหมือนรหัสผ่าน (ดูรายละเอียดที่ SECURITY.md)

หน้าไทยทั้งหมด

หน้า เนื้อหา
ล็อกอินด้วย QR ทีละขั้น สแกน → PIN → token บันทึกอัตโนมัติ, การ refresh token
LINE Notify ทางเลือก ส่งแจ้งเตือนถึงตัวเองฟรีไม่จำกัด พร้อมสคริปต์ notify.py

เอกสารภาษาอังกฤษ (ฉบับเต็ม)

รายละเอียดเชิงลึกทั้งหมดอยู่ใน เอกสารภาษาอังกฤษ:

  • Getting started — ติดตั้ง, okline login, interactive menu
  • Authentication — QR/e-mail login, token refresh, logout
  • Sending messages · Media — ข้อความ, สติกเกอร์, รูป, ไฟล์
  • E2EE / Letter Sealing — เข้ารหัส/ถอดรหัส 1:1 และกลุ่ม
  • Receiving events · Bots — รับข้อความ, bot framework
  • CLI · Cookbook — คำสั่งทั้งหมด, ตัวอย่าง 22 สคริปต์
  • Troubleshooting — ปัญหาที่พบบ่อย (FAQ)