LINELibは、LINE公式アカウントのチャット・認証・自動化をPythonから簡単に扱えるライブラリです
- Seleniumによる認証・Cookie管理
- 複数Bot・チャットの取得・送信・監視
- 有料のメッセージ送信を使わずにメッセージを送信する
- ⬆️Push無限
pip install lineoa
from LINELib.linebot import LineBot
COOKIE_PATH = os.environ.get("LINEOA_COOKIE_PATH", "lineoa_cookie.json")
bot = LineBot(storage=COOKIE_PATH, ping_secs=20) # 初回はSeleniumで手動ログイン
#storageを設定することによりcookieを保存from LINELib.linebot import LineBot
COOKIE_PATH = os.environ.get("LINEOA_COOKIE_PATH", "lineoa_cookie.json")
bot = LineBot(storage=COOKIE_PATH, ping_secs=20)
#次回からcookieを利用してログインbots = bot.bots.ids # {bot名: botId}
chats = bot.getChats(bot_id) # ユーザーchatId一覧bot.sendMessage(bot_id, user_id, "こんにちは!")bot.sendFile(bot_id, chat_id, "sample.png")bot.listen(botid="U*****")bot.sendMessage(bot_id=bot_id, chat_id=chat_id, text="りぷらい", quoteToken=quoteToken)bot.getMembers(bot_id=bot_id, chat_id=chat_id)from LINELib.linebot import LineBot
bot = LineBot(
cookie_path="lineoa-storage.json", # cookieファイルパスのみ指定
ping_secs=20
)
BOT_ID = "U****"
@bot.event
def on_message(event):
payload = event.get('payload', {})
chat_payload = payload.get('payload', {})
message = chat_payload.get('message', {})
text = message.get('text', '')
if message.get('type') == 'text' and text == "ping":
bot.sendMessage(bot_id=payload.get('botId'), chat_id=payload.get('chatId'), text="pong!")
if __name__ == "__main__":
bot.listen(botid=BOT_ID)example を参照してください。
linebot... モダンな設計思想に基づくクラスLINELib... 全機能統合のメインクラスAuthService... 認証・Cookie管理ChatService... チャットAPILINEOAError... 例外クラス
自己責任での使用 20message /1m のレートリミットが存在
MIT License