Hướng dẫn làm Chatbot MidJourney Clone cho Telegram với NextJs

By Delimister
Picture of the author
Published on
image alt attribute

Ở đây chắc cũng không anh em nào lạ về con chatbot này, tuy nhiên có chút giới hạn của nó là phải có tài khoản Discord cũng như dạo này MidJourney cũng đã áp limit khá nặng nề, dùng không được thoải mái. Vậy nên bài viết này mình sẽ hướng dẫn các bạn có thể tự tạo cho mình một con chatbot vẽ tranh theo text như MidJourney.

Link Demo: Nhấn vào đây

Giới thiệu

Trong bài viết, công nghệ được sử dụng là Stable Diffusion của Stability AI. Tất nhiên về chất lượng hình ảnh, con AI này chưa thể nào so sánh được với MidJourney, tuy nhiên, nếu nói về tính sử dụng thì con chatbot này có một số lợi điểm như:

  • Tốc độ generate ảnh nhanh hơn.
  • Quan trọng là miễn phí.

Mà thực ra vốn nó không miễn phí, chỉ là có cách để dùng nó miễn phí không giới hạn thôi :v

Chuẩn bị

Để bắt đầu, bạn cần chuẩn bị những thứ sau:

  • Một tài khoản Telegram.
  • Một tài khoản Vercel đã được liên kết với GitHub / GitLab / BitBucket.

Sau khi chuẩn bị xong, gần như là bạn đã hoàn tất rồi =]] vì chúng ta chỉ làm application layer khi sử dụng api để xử lí nên mình sẽ chỉ nói sơ cách để tự các bạn deploy con chatbot này lên thôi.

Deploy

Rất đơn giản, để có thể deploy con bot lên, bạn truy cập vào link repository sau:

Khi truy cập, bạn sẽ thấy một nút màu xanh [ Deploy ] ở cuối nội dung.

Nhấn vào Deploy, nó sẽ dẫn bạn sang trang của Vercel, đăng nhập nếu cần thiết. Sau khi đăng nhập xong, nó sẽ yêu cầu tạo 1 repository (clone), nhập 1 tên bất kỳ vào ô Repository Name sau đó nhấn Create.

Sau khi nhấn Create, chờ 1 lúc nó sẽ Deploy con bot này lên. Tuy nhiên, tới bước này vẫn chưa xong đâu. Chờ sau khi Vercel đã deploy bot xong. Bạn quay lại trang vercel.com, sẽ thấy trong danh sách có hiện tên của cái Repository mà bạn mới tạo.

Nhấn vào tên của cái Project đó, nó sẽ mở ra, bạn chuyển qua tab Settings và chọn vào mục Environment Variables ở bên trái. Đây là trang tạo các biến môi trường.

Quay lại Telegram, hoặc truy cập link sau:

Nhấn send message, nhắn với con bot này và làm theo hướng dẫn để tạo được Telegram Token. Sau khi tạo được cho mình một con bot, BotFather sẽ gửi cho bạn kèm một Telegram Token.

Quay lại trang Environment Variables, bạn nhập vào ô Key giá trị TELEGRAM_KEY, còn ô Value thì nhập cái token mà bạn vừa nhận được từ BotFather.

Sau đó nhấn Save.

Quay lại tab Deployments, nhấn vào nút 3 chấm ở cuối item deployment trong danh sách. chọn Redeploy. Sau đó, chờ thêm một lúc để ứng dụng được Deploy lại.

Sau khi ứng dụng deploy hoàn thành, bạn lại quay lại tab Projects bên Vercel, nhấn một domain trong mục DOMAINS. Sau đó bạn sẽ thấy một trang web với nội dung:

Hello there. Your bot does not work? Visit this page to complete setup.

Để tiếp tục, nhấn vào chữ "this page", nó sẽ có thông báo setup thành công. Quay lại telegram, bạn nhắn với con bot bạn vừa tạo ra theo cú pháp:

/draw thông tin muốn vẽ

Bạn có thể nhập cả lệnh tiếng Việt, do trong code mình đã chuẩn bị luôn cả phần translation. Bạn có thể thử lệnh sau:

/draw mdjrny-v4 style whimsical fantasy elegant rose floral botany maximalism with a wave of flowers garden flowing flowers floating in misty soft pink, aqua, soft apricot, smoke fractal, moody and big scale realistic flowers, octane render

Kết

Đây là một hướng dẫn khá dài dòng về việc tạo ra con bot clone MidJourney. Tuy chất lượng của nó không thể sánh ngang được, nhưng nếu để nghịch ngợm thì cũng không tệ lắm. Hơn nữa, nó lại không bị giới hạn từ khoá :v anh em hạn chế vẽ bậy bạ nhé =)))

Chúc mọi người thành công, nếu thấy hay thì cho mình xin một Star trên GitHub nhé. Cảm ơn mọi người rất nhiều.