Loki là một chatbot Facebook Messenger tiên tiến được xây dựng bằng Python, tích hợp Selenium và các khả năng AI mạnh mẽ.
- Đăng nhập tự động với xử lý xác thực hai lớp
- Theo dõi tin nhắn và hình ảnh mới trong thời gian thực
- Gửi tin nhắn văn bản và hình ảnh một cách linh hoạt
- Sử dụng Google Gemini AI để tạo phản hồi thông minh
- Xử lý ngôn ngữ tự nhiên để hiểu ngữ cảnh và ý định
- Phân tích hình ảnh thông qua Gemini Vision
- Hỗ trợ hơn 20 ngôn ngữ với chuyển đổi liền mạch
- Dịch tự động các phản hồi và thông báo hệ thống
- Lưu trữ bộ nhớ cache dịch để tối ưu hiệu suất
- Lưu trữ lịch sử trò chuyện dài hạn bằng JSON
- Tóm tắt cuộc trò chuyện theo khoảng thời gian
- Tự động dọn dẹp bản ghi cũ để tối ưu hóa bộ nhớ
- Tối ưu hóa hình ảnh tự động trước khi gửi
- Tạo thư viện ảnh từ tìm kiếm Unsplash
- Lưu trữ và quản lý hình ảnh tạm thời hiệu quả
- Rút gọn URL và tạo mã QR
- Phân tích và theo dõi lịch sử URL
- Tạo và giải thích mã nguồn cho nhiều ngôn ngữ lập trình
- Trò chơi nối từ tương tác với AI
- Chế độ facts ngẫu nhiên từ nhiều nguồn
- Tìm kiếm và định dạng công thức nấu ăn
- Chuyển đổi văn bản thành giọng nói
- Xử lý lệnh giọng nói (đang phát triển)
-
FacebookLogin
- Xử lý quá trình đăng nhập cơ bản
- Quản lý cookie phiên
- Triển khai kiểm tra xác minh
-
LoginCreateSession (kế thừa FacebookLogin)
- Cấu hình trình duyệt chi tiết
- Điều hướng trang và xử lý thông báo
-
Listener (kế thừa LoginCreateSession)
- Theo dõi tin nhắn và hình ảnh mới
- Xử lý sự kiện đầu vào
-
Sender (kế thừa Listener)
- Gửi tin nhắn văn bản và hình ảnh
- Định dạng tin nhắn cho Messenger
-
MesChat (kế thừa Sender)
- Lớp chính kết hợp tất cả chức năng
- Xử lý lệnh và luồng hội thoại
- Tích hợp AI và công cụ bổ sung
- Quản lý bộ nhớ: Sử dụng JSON để lưu trữ
- Xử lý lỗi: Bắt và báo cáo lỗi toàn diện
- Giới hạn tốc độ: Cơ chế thử lại thông minh
- Dọn dẹp tài nguyên: Quản lý file tạm tự động
- Python 3.8+
- Google Chrome hoặc Chromium
- ChromeDriver tương thích
pip install selenium google-translator requests pillow colorama psutil emoji google-generativeai
GEMINI_API_KEY = "your_gemini_api_key"
GITHUB_TOKEN = "your_github_token"
UNSPLASH_ACCESS_KEY = "your_unsplash_access_key"
bot = MesChat(
email_or_phone="your_facebook_email",
password="your_facebook_password",
group_or_chat="https://www.messenger.com/t/your_chat_id"
)
bot.start()
/language [mã]
: Thay đổi ngôn ngữ bot/summary [khoảng thời gian]
: Nhận tóm tắt cuộc trò chuyện/clear
: Xóa lịch sử trò chuyện/help
: Hiển thị tin nhắn trợ giúp/guide
: Hiển thị hướng dẫn chi tiết
/short [url]
: Rút gọn URL/qr [nội dung]
: Tạo mã QR/analyze [url]
: Phân tích URL/urlhistory
: Xem lịch sử công cụ URL
/code [ngôn ngữ] [yêu cầu]
: Tạo mã/noitu [từ]
: Bắt đầu trò chơi nối từ/voice [văn bản]
: Chuyển văn bản thành giọng nói/recipe [truy vấn]
: Tìm kiếm công thức nấu ăn/fact
: Bật chế độ fact ngẫu nhiên/image [truy vấn]
: Tìm kiếm và tạo thư viện ảnh
- Lưu trữ JSON: Sử dụng
json
để lưu và tải lịch sử - Tóm tắt thông minh: Sử dụng Gemini AI để tạo tóm tắt
- Giới hạn kích thước: Tự động cắt bớt khi vượt quá
max_memory_size
- Đăng nhập: Thử lại tự động với
login_twice()
- API Gemini: Thử lại với thời gian chờ tăng dần
- Gửi hình ảnh: Cơ chế thử lại trong
attempt_send_image()
- Nén hình ảnh: Sử dụng Pillow để tối ưu hóa trước khi gửi
- Bộ nhớ cache dịch: Lưu trữ bản dịch để tái sử dụng
- Dọn dẹp tài nguyên: Xóa file tạm và giới hạn số lượng ảnh lưu trữ
- Sử dụng mô hình
gemini-1.5-flash-8b-latest
cho phản hồi nhanh - Xử lý cả văn bản và hình ảnh đầu vào
- Tùy chỉnh nhiệt độ và tham số sinh cho đầu ra đa dạng
- Phân tích ý định người dùng từ tin nhắn đầu vào
- Tạo phản hồi tự nhiên và phù hợp ngữ cảnh
- Hỗ trợ đa ngôn ngữ với dịch tự động
- Sử dụng Gemini Vision để mô tả và phân tích hình ảnh
- Tích hợp với chức năng tìm kiếm và tạo thư viện ảnh
def handle_image(self, img_path):
with Image.open(img_path) as img:
max_size = (1280, 1280)
img.thumbnail(max_size, Image.LANCZOS)
img.save(temp_filename, quality=85, optimize=True)
- Sử dụng API Unsplash để tìm kiếm ảnh chất lượng cao
- Tạo gallery trên Telegra.ph với 20 ảnh được lọc
- Sắp xếp ảnh theo số lượt thích để đảm bảo chất lượng
- Sử dụng biến môi trường cho khóa API nhạy cảm
- Xử lý an toàn thông tin đăng nhập Facebook
- Giới hạn quyền truy cập vào chức năng nhạy cảm
- Lỗi đăng nhập: Kiểm tra thông tin đăng nhập và cài đặt bảo mật Facebook
- Giới hạn API: Thực hiện độ trễ phù hợp giữa các yêu cầu
- Vấn đề bộ nhớ: Giám sát và dọn dẹp file tạm thường xuyên
Chúng tôi hoan nghênh mọi đóng góp! Vui lòng gửi issues và pull requests.