Skip to main content

非阻塞式 LINE Messaging API 封裝

Project description

line.py

Python 非阻塞式 LINE Messaging API 串接, 輕鬆快速的製作 LINE 機器人
⚠️ 此 package 目前僅供(我)個人使用, 所以並沒有 cover 全部的 API, 如果有其他人想用的話, 我再加

安裝

pip install git+https://github.com/seriaati/line.py

快速入門

import asyncio
from line import Bot, Cog, command, Context

class MyCog(Cog):
   def __init__(self, bot: Bot) -> None:
       super().__init__(bot)
   
   @command
   async def hello(self, ctx: Context) -> None:
       await ctx.reply_text("Hello, world!")

async def main():
   bot = Bot(channel_secret="YOUR_CHANNEL_SECRET", access_token="YOUR_ACCESS_TOKEN")
   bot.add_cog(MyCog(bot))
   await bot.run()

asyncio.run(main())

功能

  • 使用 aiohttp 及 asyncio, 完全非阻塞式運行 (async/await)
  • 底層使用 LINE 官方 Python SDK
  • 完整的 type hints (PEP 484)
  • 簡單上手, 快速製作 LINE 機器人

文檔

其他

LINE 已經有 SDK 了, 為什麼還要寫 line.py?

  • v3 的 SDK 可能因為是從 API 自動生成 model 的關係, 有非常糟糕的 typing 問題, 使用 line.py 完全不會遇到奇怪的紅線跟需要大量使用 type: ignore 的問題
  • 學習難度高, 不易使用, 不適合新手
  • 沒有一個快速新增指令的方法, 導致程式碼很冗長

你是不是抄襲 discord.py?

對。
但是 discord.py 的程式碼太高深了我看不懂, 所以只是參考概念 (例如 cog, 一些 function 的名稱, 新增指令的方式), 然後慢慢刻出來 line.py。

聯絡

有疑問可以加我 Discord:@seria_ati

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

line_messaging_api-0.8.19.tar.gz (70.1 kB view details)

Uploaded Source

Built Distribution

line_messaging_api-0.8.19-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

Details for the file line_messaging_api-0.8.19.tar.gz.

File metadata

File hashes

Hashes for line_messaging_api-0.8.19.tar.gz
Algorithm Hash digest
SHA256 c2ca989a9eb96e292120d7206afe91d00fe6a30250d8dd53f3da3f235742eba9
MD5 7118724989ed9d68b2053131af3130a9
BLAKE2b-256 89a0d0a70447676dc42cee9d79ca3bc1902e80d0843189b234097c458cf344f2

See more details on using hashes here.

File details

Details for the file line_messaging_api-0.8.19-py3-none-any.whl.

File metadata

File hashes

Hashes for line_messaging_api-0.8.19-py3-none-any.whl
Algorithm Hash digest
SHA256 1e5763f1ddd1816ab972dc5aa02e5fd178be542d87f62d7b5ee7b7f8f711ff50
MD5 deba2b8fd5635649b3399ac4fd684f96
BLAKE2b-256 51ce5b18c565e96e68fca86120a0b8d9fa81d844f07ee3b7edf9d45ea9e14060

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page