LineBot-FastAPI is a comprehensive and modular template for developing LINE bots using FastAPI. It integrates seamlessly with various APIs and provides a robust structure for handling complex interactions and processing.
Key features:
- 🤖 LINE Bot Integration: Easily create and manage LINE bots with built-in event handling and messaging capabilities.
- ⚡ FastAPI API Documentation and Authentication: Leverage FastAPI's powerful documentation tools and secure authentication mechanisms.
- 🧠 LLM Integration (OpenAI): Implement advanced chatbot logic using Large Language Models, with support for text, image, and audio modalities.
- 📝 API-Driven Logging: This template uses API calls to log data, ensuring better modularity and flexibility.
- ⚙️ Async Non-Blocking Operations: Designed to handle multiple user inputs simultaneously, making the bot responsive and efficient even under heavy load.
- 🌐 LLM Omniversal Integration: Supports various input modalities (text, image, audio) for a more versatile and interactive chatbot experience.
To enable full functionality, you'll need to set up your LINE API credentials and configure the environment variables.
- Log in to LINE Developer Console: LINE Developer Console
- Set up LINE Authentication:
- Click "Create a new Channel".
- Choose Message API as the type of channel.
- Retrieve Important Keys and Tokens:
- Go to Basic Settings and copy the Channel Secret.
- Go to Messaging API and copy the Channel Access Token (click Issue if setting up for the first time).
- Obtain Public Domain: Once you have deployed your app and obtained a public domain (e.g.,
https://line.app
), ensure you use this URL in the Webhook settings. - Configure Webhook URL: In Messaging API settings, set the Webhook URL as:
https://your-public-domain/webhooks/line
Replace your-public-domain
with your actual domain and add the /webhooks/line
suffix for correct routing.
- Enable Webhook: Ensure that the Use Webhook option is enabled so your bot can start receiving messages from LINE users.
By following these steps, your LINE bot will be ready to handle events and interact with users!
We welcome contributions from the community! Whether it's bug fixes, feature enhancements, or documentation improvements, feel free to open a pull request.
Designed with ❤️ by Mark Chen