Amazing-Python-Scripts
50 строк · 1.6 Кб
1from dotenv import load_dotenv
2import os
3from telegram import Update
4import replicate
5from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, MessageHandler, filters
6
7load_dotenv()
8
9
10def getUrl(prompt):
11a = replicate.run(
12"stability-ai/stable-diffusion:27b93a2413e7f36cd83da926f3656280b2931564ff050bf9575f1fdf9bcd7478",
13input={"prompt": prompt}
14)
15print(a)
16return a[0]
17
18
19async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
20await update.message.reply_text(
21f"Hello {update.effective_user.first_name} I am your personal AI Image Generator \n Use /help to know all commands.")
22
23
24async def help(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
25await update.message.reply_text(
26'''Here are a list of all commands:-
27/start - Start a conversation
28/help - Get a list of commands
29/imagine <prompt> - Get an AI generated image'''
30)
31
32
33async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
34await update.message.reply_text("""
35Sorry, I did not understand that command.
36Type \" /help \" to see all possible commands""")
37
38
39async def imagine(update: Update, context: ContextTypes.DEFAULT_TYPE):
40arg = str(" ".join(context.args))
41url = getUrl(arg)
42await update.message.reply_photo(url)
43
44
45app = ApplicationBuilder().token(os.environ.get('TELEGRAM_BOT_TOKEN')).build()
46app.add_handler(CommandHandler("start", start))
47app.add_handler(CommandHandler("help", help))
48app.add_handler(CommandHandler("imagine", imagine))
49app.add_handler(MessageHandler(filters.COMMAND, handle_message))
50app.run_polling()
51