Рет қаралды 1,225
Приветствую, сегодня я снова рассказываю про нейросети и искусственный интеллект.
Мой телеграмм канал - t.me/aigod098
По вопросам сотрудничества - vovan1998888@mail.ru
В данном видеоролике я расскажу про то, как я создавал телеграмм бота с помощью новой версии искусственного интеллекта от OpenAI - чат GPT 4-o. Для создания этого телеграмм бота я использовал аж три версии нейросети: ChatGPT 3.5, chat gpt 4, чат гпт 4-о. Суть телеграмм бота была просто - отправка приветственных сообщений в чат для вновь подписавшихся на мой телеграмм канал. Для того чтобы реализовать эту задачу по мимо всего потребовалось ещё и GPTS из GPT store. В итоге все получилось, а как это было вы узнаете в ролике!
Приятного просмотра!
#gpt4o #chatgpt #ai
Код, который сработал:
from telegram import Update, Chat, ChatMemberUpdated
from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes, ChatMemberHandler
import logging
Включение логирования
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO
)
logger = logging.getLogger(__name__)
Токен вашего бота
TOKEN = "YOUR_TOKEN_HERE"
Функция для приветствия новых участников
async def greet_new_member(update: Update, context: ContextTypes.DEFAULT_TYPE):
logger.info(f"Получено событие нового участника: {update}")
if update.message and update.message.new_chat_members:
for member in update.message.new_chat_members:
logger.info(f"Новый участник: {member.full_name}")
try:
await update.message.reply_text(f'Добро пожаловать, {member.full_name}!')
logger.info(f"Отправлено приветствие для {member.full_name}")
except Exception as e:
logger.error(f"Ошибка при отправке приветствия для {member.full_name}: {e}")
else:
logger.info("Нет новых участников")
Функция для обработки изменений в участниках
async def member_status_change(update: Update, context: ContextTypes.DEFAULT_TYPE):
logger.info(f"Изменение статуса участника: {update}")
chat_member = update.chat_member
if chat_member.new_chat_member:
logger.info(f"Новый участник: {chat_member.new_chat_member.user.full_name}")
try:
await context.bot.send_message(chat_id=update.effective_chat.id, text=f'Добро пожаловать, {chat_member.new_chat_member.user.full_name}!')
logger.info(f"Отправлено приветствие для {chat_member.new_chat_member.user.full_name}")
except Exception as e:
logger.error(f"Ошибка при отправке приветствия для {chat_member.new_chat_member.user.full_name}: {e}")
Функция для команды /start
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
try:
await update.message.reply_text('Бот запущен и готов приветствовать новых участников!')
logger.info("Сообщение /start отправлено")
except Exception as e:
logger.error(f"Ошибка при отправке сообщения /start: {e}")
Функция для приветствия новых сообщений в канале
async def greet_new_channel_post(update: Update, context: ContextTypes.DEFAULT_TYPE):
logger.info(f"Получено сообщение в канале: {update}")
if update.channel_post:
try:
await update.channel_post.reply_text('Спасибо за сообщение в нашем канале!')
logger.info("Сообщение в ответ на пост отправлено")
except Exception as e:
logger.error(f"Ошибка при отправке ответа на пост в канале: {e}")
Функция для логирования всех обновлений
async def log_all_updates(update: Update, context: ContextTypes.DEFAULT_TYPE):
logger.info(f"Получено обновление: {update}")
def main():
Создаем приложение
application = Application.builder().token(TOKEN).build()
Обработчик команды /start
application.add_handler(CommandHandler("start", start))
Обработчик для логирования всех обновлений
application.add_handler(MessageHandler(filters.ALL, log_all_updates))
Обработчик для сообщений в канале
application.add_handler(MessageHandler(filters.ChatType.CHANNEL, greet_new_channel_post))
Обработчик для новых участников в супергруппах
application.add_handler(MessageHandler(filters.StatusUpdate.NEW_CHAT_MEMBERS, greet_new_member))
Обработчик для изменений в участниках
application.add_handler(ChatMemberHandler(member_status_change, filters.ChatMemberHandler))
Запуск бота
application.run_polling()
if _name_ == '__main__':
main()
00:00 Погнали
00:17 Цели создания ТГ бота
00:53 Версии чата которые использовались
01:16 Пишем промт
01:58 Получаем токен бота и предоставляем права админа
02:19 Сложности
07:08 Итоговый результат
08:05 Плюсы ChatGPT
10:10 Резюме общения с нейросетью
10:55 Что не понравилось в общении с языковой моделью