Hãy đăng bài và bài viết ca bn s đưc lên top tìm kiếm google

Diễn đàn SEO bài viết lên Google Search tốt nhất

Tạo Facebook Chatbot cho trang cá nhân

Thảo luận trong 'Thủ Thuật Facebook' bắt đầu bởi CEH Yu Ling, 2/10/17.

  1. CEH Yu Ling

    CEH Yu Ling Thành Viên Mới
    VIP Member

    20%
    27/9/17
    5
    0
    1
    Nắm bắt nhu cầu sống ảo của đa số anh em, mình viết bài này để hướng dẫn cách tạo một chatbot để trả lời tin nhắn trên trang cá nhân.
    Nhắc lại, đây là chatbot cho trang cá nhân, chatbot cho fanpage đã có rất nhiều bài viết, video hướng dẫn, nếu các bạn thích có thể mình sẽ viết 1 bài riêng.

    Yêu cầu
    1. Biết Python, không biết đi chỗ khác chơi.
    2. Nếu không đáp ứng được điều 1 thì dùng dollar thần chưởng, mình làm hộ cho [​IMG]
    3. Hiểu mình nói gì.
    Tiến hành
    Mình sẽ dùng một thư viện gọi là Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO để viết bài này.
    Các đoạn code mẫu sử dụng thư viện này bạn có thể tham khảo tại đây: Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO
    Tài liệu chính thức của thư viện này tại đây:
    Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO

    Mở console lên cài thư viện fbchat vào máy:

    Mã:
    pip install fbchat
    Chat bot này khác hoàn toàn với những chat bot bạn thường thấy vì nó không sử dụng Graph API chính thức từ Facebook mà giả lập trình duyệt để gửi những request GET/POST như là đang online bằng trình duyệt thật sự.
    Bạn sẽ dùng tài khoản Facebook để sử dụng bot này chứ không phải Access Token [​IMG]

    Mã:
    from fbchat import log, Client # Nạp thư viện của fbchat
    
    class EchoBot(Client):
        def onMessage(self, author_id, message, thread_id, thread_type, **kwargs):
            self.markAsDelivered(author_id, thread_id) # Đánh dấu đã nhận tin nhắn
            self.markAsRead(author_id) # Đánh dấu đã đọc tin nhắn
    
            # Hiển thị log mỗi khi có tin nhắn tới
            log.info("Message from {} in {} ({}): {}".format(author_id, thread_id, thread_type.name, message))
    
            # Nếu id của tác giả tin nhắn không phải là bạn thì
            if author_id != self.uid:
                # Gửi tin nhắn cho cuộc hội thoại có id là thread_id
                self.sendMessage(message, thread_id=thread_id, thread_type=thread_type)
    
    client = EchoBot("<email>", "<password>") # Điền email, password tài khoản Facebook của bạn vô đây
    client.listen() # Bot sẽ chạy cập nhật tin nhắn
    Khi điền đầy đủ thông tin xong hãy lưu và chạy.
    Như thế này là ok.

    [​IMG]

    Con bot này có chức năng phản hồi lại đúng y nội dung tin nhắn bạn đã nhắn cho nó.
    OK, bây giờ chúng ta hãy test nó nào.



    Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO

    Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO

    [​IMG]
    OK, vậy là bot chạy ngon rồi nha các bạn.


    Bot có rất nhiều phương thức, bạn có thể tìm hiểu thêm tại đây
    Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO

    Mã:
    # Gửi tin nhắn đến cuộc trò chuyện
    client.sendMessage('<nội dung tin nhắn>', thread_id=thread_id, thread_type=thread_type)
    
    # Gửi emoji like
    client.sendEmoji(emoji=None, size=EmojiSize.LARGE, thread_id=thread_id, thread_type=thread_type)
    
    # Gửi emoji
    client.sendEmoji(emoji='', size=EmojiSize.LARGE, thread_id=thread_id, thread_type=thread_type)
    
    # Gửi hình ảnh có đường dẫn `<image path>`
    client.sendLocalImage('<image path>', message='This is a local image', thread_id=thread_id, thread_type=thread_type)
    
    # Tải hình ảnh có địa chỉ `<image url>`, và gửi hình ảnh đó
    client.sendRemoteImage('<image url>', message='This is a remote image', thread_id=thread_id, thread_type=thread_type)
    
    # Những phương thức này chỉ thực hiện với chat nhóm
    if thread_type == ThreadType.GROUP:
        # Xóa user có ID `<user id>` khỏi nhóm chat
        client.removeUserFromGroup('<user id>', thread_id=thread_id)
    
        # Thêm user có ID `<user id>` vào nhóm chat
        client.addUsersToGroup('<user id>', thread_id=thread_id)
    
        # Thêm những user có ID `<1st user id>`, `<2nd user id>` và `<3th user id>` vào nhóm
        client.addUsersToGroup(['<1st user id>', '<2nd user id>', '<3rd user id>'], thread_id=thread_id)
    
    # Đổi nickname của `<user_id>` thành `<new nickname>`
    client.changeNickname('<new nickname>', '<user id>', thread_id=thread_id, thread_type=thread_type)
    
    # Đổi tên cuộc trò chuyện thành `<title>`
    client.changeThreadTitle('<title>', thread_id=thread_id, thread_type=thread_type)
    
    # Thiếp lập trạng thái của bạn là  `TYPING`
    client.setTypingStatus(TypingStatus.TYPING, thread_id=thread_id, thread_type=thread_type)
    
    # Chuyển màu của chat thành `MESSENGER_BLUE`
    client.changeThreadColor(ThreadColor.MESSENGER_BLUE, thread_id=thread_id)
    
    # Chuyển emoji của cuộc trò chuyện thành ``
    client.changeThreadEmoji('', thread_id=thread_id)
    
    # Bày tỏ cảm xúc emoji với một tin nhắn
    client.reactToMessage('<message id>', MessageReaction.LOVE)
    Kết
    Bạn có thể dùng các cấu trúc điều khiển của python, những thư viện như requests, json, beautifulsoup, … để xử lý tin nhắn tới theo ý bạn, như tích hợp API của Simsimi hay API thời tiết, API get link fshare chẳng hạn.
    Nếu các bạn muốn mình có thể làm thêm phần bổ sung trong bài này hướng dẫn dùng API vào chatbot.
    Một thư viện tương tự như vậy bằng Node.js: Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO
    Cám ơn đã đọc. Nhớ thả tim nhá [​IMG]

    Sr : ARE3
     
  2. juleshudson23

    juleshudson23 Người bắt chuyện

    55%
    11/4/23
    1,287
    0
    36
    The largest MMO group on Telegram at Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO and the Facebook group Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO is a place that provides a full set of change info PC tools, full tool of Antidetect+ Collectibles, AntiOS, FontFingerprint Antidetect browser Gologin, along with tools like Amazon Cookie pumper, eBay Cookie Pumper, Walmart cookie Pumper, etsy Cookie Pumper… and many other software for dropshopping, cheat air drop, whitelist |//////////////////////////// Get FREE Here ✔️✔️✔️ Vui lòng đăng kí hoặc đăng nhập để thấy liên kết tại BigMMO