М.Двач / Программы

479 Кб, 1392x541
Пайтон тред Windows 10: Chromium based 2 фев, 20:19 3581177 В конец треда | Веб

Помогите создать бота, уже все перепробовал и даже через ии прогонать. но какая то ссаная ошибка выходит

Ответы81178

Windows 10: Chromium based 2 2 фев, 20:20 2 3581178

>>3581177 (OP)
from telegram import Update
from telegram.ext import (
ApplicationBuilder,
MessageHandler,
filters,
ContextTypes,
)
import asyncio

# Ваш токен, полученный от BotFather
TOKEN = ' бла бла тут токен'
# Ваш ID в Telegram
YOUR_CHAT_ID = 'бла бла тут айди

async def handle_text(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
text = update.message.text # Текст сообщения
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получено текстовое сообщение: {text}")

async def handle_photo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
photo_file = update.message.photo[-1].file_id # Получаем последнее фото
await context.bot.send_photo(chat_id=YOUR_CHAT_ID, photo=photo_file) # Отправляем фото вам

async def handle_video(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
video_file = update.message.video.file_id # Получаем видео
await context.bot.send_video(chat_id=YOUR_CHAT_ID, video=video_file) # Отправляем видео вам

async def handle_document(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
document_file = update.message.document.file_id # Получаем документ
await context.bot.send_document(chat_id=YOUR_CHAT_ID, document=document_file) # Отправляем документ вам

async def handle_gif(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
gif_file = update.message.animation.file_id # Получаем GIF
await context.bot.send_animation(chat_id=YOUR_CHAT_ID, animation=gif_file) # Отправляем GIF вам

async def handle_link(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
text = update.message.text # Получаем текст
if 'http' in text: # Проверяем, содержит ли текст ссылку
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получена ссылка: {text}")

async def main() -> None:
try:
# Создаём экземпляр Application
app = ApplicationBuilder().token(TOKEN).build()

# Обработчики сообщений для различных типов
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_text)) # Текстовые сообщения
app.add_handler(MessageHandler(filters.PHOTO, handle_photo)) # Фотографии
app.add_handler(MessageHandler(filters.VIDEO, handle_video)) # Видео
app.add_handler(MessageHandler(filters.Document.ALL, handle_document)) # Документы
app.add_handler(MessageHandler(filters.ANIMATION, handle_gif)) # GIF
app.add_handler(MessageHandler(filters.TEXT, handle_link)) # Ссылки

# Запуск бота
await app.run_polling()
except Exception as e:
print(f"Ошибка при запуске бота: {e}")
finally:
# Явное завершение работы без попытки закрытия цикла
await app.shutdown()

def run_bot():
try:
# Если цикл событий уже запущен, используем его
loop = asyncio.get_running_loop()
print("Используем существующий цикл событий...")
loop.create_task(main())
except RuntimeError:
# Если цикл не запущен, создаём новый
print("Запускаем новый цикл событий...")
asyncio.run(main())

if __name__ == '__main__':
run_bot()

Windows 10: Chromium based 2 2 фев, 20:20 2 3581178

>>3581177 (OP)
from telegram import Update
from telegram.ext import (
ApplicationBuilder,
MessageHandler,
filters,
ContextTypes,
)
import asyncio

# Ваш токен, полученный от BotFather
TOKEN = ' бла бла тут токен'
# Ваш ID в Telegram
YOUR_CHAT_ID = 'бла бла тут айди

async def handle_text(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
text = update.message.text # Текст сообщения
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получено текстовое сообщение: {text}")

async def handle_photo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
photo_file = update.message.photo[-1].file_id # Получаем последнее фото
await context.bot.send_photo(chat_id=YOUR_CHAT_ID, photo=photo_file) # Отправляем фото вам

async def handle_video(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
video_file = update.message.video.file_id # Получаем видео
await context.bot.send_video(chat_id=YOUR_CHAT_ID, video=video_file) # Отправляем видео вам

async def handle_document(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
document_file = update.message.document.file_id # Получаем документ
await context.bot.send_document(chat_id=YOUR_CHAT_ID, document=document_file) # Отправляем документ вам

async def handle_gif(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
gif_file = update.message.animation.file_id # Получаем GIF
await context.bot.send_animation(chat_id=YOUR_CHAT_ID, animation=gif_file) # Отправляем GIF вам

async def handle_link(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
text = update.message.text # Получаем текст
if 'http' in text: # Проверяем, содержит ли текст ссылку
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получена ссылка: {text}")

async def main() -> None:
try:
# Создаём экземпляр Application
app = ApplicationBuilder().token(TOKEN).build()

# Обработчики сообщений для различных типов
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_text)) # Текстовые сообщения
app.add_handler(MessageHandler(filters.PHOTO, handle_photo)) # Фотографии
app.add_handler(MessageHandler(filters.VIDEO, handle_video)) # Видео
app.add_handler(MessageHandler(filters.Document.ALL, handle_document)) # Документы
app.add_handler(MessageHandler(filters.ANIMATION, handle_gif)) # GIF
app.add_handler(MessageHandler(filters.TEXT, handle_link)) # Ссылки

# Запуск бота
await app.run_polling()
except Exception as e:
print(f"Ошибка при запуске бота: {e}")
finally:
# Явное завершение работы без попытки закрытия цикла
await app.shutdown()

def run_bot():
try:
# Если цикл событий уже запущен, используем его
loop = asyncio.get_running_loop()
print("Используем существующий цикл событий...")
loop.create_task(main())
except RuntimeError:
# Если цикл не запущен, создаём новый
print("Запускаем новый цикл событий...")
asyncio.run(main())

if __name__ == '__main__':
run_bot()

Показать весь текст
Ответы8118091879

Windows 10: Chromium based 3 2 фев, 20:21 3 3581180

>>3581178
Ошибка при запуске бота: Cannot close a running event loop
c:\Users\11\Downloads\cod\bot.py:56: RuntimeWarning: coroutine 'Application.shutdown' was never awaited
print(f"Ошибка при запуске бота: {e}")
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
c:\Users\11\Downloads\cod\bot.py:56: RuntimeWarning: coroutine 'Application.initialize' was never awaited
print(f"Ошибка при запуске бота: {e}")
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Android: Mobile Safari 4 15 фев, 02:48 4 3584161

Ошибки тоже скармливай ии. Я так уже два бота сделал. Через мистрал. Начинал с чат гпт, то нам когда лимит кончается он на более глупую модель переходит и качество страдает. На мистрал такой хуйни нету, просто некоторое время не даёт писать

Ответы8750591878

Windows 10: Chromium based 5 4 мар, 02:51 5 3587505

>>3584161
Спасибо, пробовал ошибки кормить и ошибка оказалась очень простой... Гпт думал что я НЕ использую среду, а именно вижуал студио код. Когда ему написал об этом, все заработало (он мне норм код написал)

Windows 10: Chromium based 6 22 мар, 21:05 6 3591878

>>3584161
Какой чатгпт? Ты поехал что ли? Это говно даже не знает как ip выглядит такой код уровня b пишет.

Вот юзай https://chat.qwen.ai/
или https://chat.deepseek.com/

Windows 10: Chromium based 7 22 мар, 21:07 7 3591879

>>3581178
>from telegram import Update
>from telegram.ext import (
>ApplicationBuilder,
>MessageHandler,
>filters,
>ContextTypes,
>)
>import asyncio
>
># Ваш токен, полученный от BotFather
>TOKEN = ' бла бла тут токен'
># Ваш ID в Telegram
>YOUR_CHAT_ID = 'бла бла тут айди
>
>async def handle_text(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>text = update.message.text # Текст сообщения
>await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получено текстовое сообщение: {text}")
>
>async def handle_photo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>photo_file = update.message.photo[-1].file_id # Получаем последнее фото
>await context.bot.send_photo(chat_id=YOUR_CHAT_ID, photo=photo_file) # Отправляем фото вам
>
>async def handle_video(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>video_file = update.message.video.file_id # Получаем видео
>await context.bot.send_video(chat_id=YOUR_CHAT_ID, video=video_file) # Отправляем видео вам
>
>async def handle_document(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>document_file = update.message.document.file_id # Получаем документ
>await context.bot.send_document(chat_id=YOUR_CHAT_ID, document=document_file) # Отправляем документ вам
>
>async def handle_gif(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>gif_file = update.message.animation.file_id # Получаем GIF
>await context.bot.send_animation(chat_id=YOUR_CHAT_ID, animation=gif_file) # Отправляем GIF вам
>
>async def handle_link(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>text = update.message.text # Получаем текст
>if 'http' in text: # Проверяем, содержит ли текст ссылку
>await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получена ссылка: {text}")
>
>async def main() -> None:
>try:
># Создаём экземпляр Application
>app = ApplicationBuilder().token(TOKEN).build()
>
># Обработчики сообщений для различных типов
>app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_text)) # Текстовые сообщения
>app.add_handler(MessageHandler(filters.PHOTO, handle_photo)) # Фотографии
>app.add_handler(MessageHandler(filters.VIDEO, handle_video)) # Видео
>app.add_handler(MessageHandler(filters.Document.ALL, handle_document)) # Документы
>app.add_handler(MessageHandler(filters.ANIMATION, handle_gif)) # GIF
>app.add_handler(MessageHandler(filters.TEXT, handle_link)) # Ссылки
>
># Запуск бота
>await app.run_polling()
>except Exception as e:
>print(f"Ошибка при запуске бота: {e}")
>finally:
># Явное завершение работы без попытки закрытия цикла
>await app.shutdown()
>
>def run_bot():
>try:
># Если цикл событий уже запущен, используем его
>loop = asyncio.get_running_loop()
>print("Используем существующий цикл событий...")
>loop.create_task(main())
>except RuntimeError:
># Если цикл не запущен, создаём новый
>print("Запускаем новый цикл событий...")
>asyncio.run(main())
>
>if __name__ == '__main__':
>run_bot()

from telegram import Update
from telegram.ext import (
ApplicationBuilder,
MessageHandler,
filters,
ContextTypes,
)
import asyncio
import re
import logging

# Настройка логирования
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)

# Ваш токен, полученный от BotFather
TOKEN = 'бла бла тут токен'
# Ваш ID в Telegram
YOUR_CHAT_ID = int('бла бла тут айди')

async def handle_text_and_link(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
text = update.message.text
url_pattern = re.compile(r'https?://\S+')

if url_pattern.search(text):
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получена ссылка: {text}")
else:
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получено текстовое сообщение: {text}")

async def handle_photo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
photo_file = update.message.photo[-1].file_id
await context.bot.send_photo(chat_id=YOUR_CHAT_ID, photo=photo_file)

async def handle_video(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
video_file = update.message.video.file_id
await context.bot.send_video(chat_id=YOUR_CHAT_ID, video=video_file)

async def handle_document(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
document_file = update.message.document.file_id
await context.bot.send_document(chat_id=YOUR_CHAT_ID, document=document_file)

async def handle_gif(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
gif_file = update.message.animation.file_id
await context.bot.send_animation(chat_id=YOUR_CHAT_ID, animation=gif_file)

async def main() -> None:
try:
app = ApplicationBuilder().token(TOKEN).build()

# Добавляем обработчики
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_text_and_link))
app.add_handler(MessageHandler(filters.PHOTO, handle_photo))
app.add_handler(MessageHandler(filters.VIDEO, handle_video))
app.add_handler(MessageHandler(filters.Document.ALL, handle_document))
app.add_handler(MessageHandler(filters.ANIMATION, handle_gif))

await app.run_polling()
except Exception as e:
logger.error(f"Ошибка при запуске бота: {e}")
finally:
await app.shutdown()

def run_bot():
try:
loop = asyncio.get_running_loop()
print("Используем существующий цикл событий...")
loop.create_task(main())
except RuntimeError:
print("Запускаем новый цикл событий...")
asyncio.run(main())

if __name__ == '__main__':
run_bot()

Windows 10: Chromium based 7 22 мар, 21:07 7 3591879

>>3581178
>from telegram import Update
>from telegram.ext import (
>ApplicationBuilder,
>MessageHandler,
>filters,
>ContextTypes,
>)
>import asyncio
>
># Ваш токен, полученный от BotFather
>TOKEN = ' бла бла тут токен'
># Ваш ID в Telegram
>YOUR_CHAT_ID = 'бла бла тут айди
>
>async def handle_text(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>text = update.message.text # Текст сообщения
>await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получено текстовое сообщение: {text}")
>
>async def handle_photo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>photo_file = update.message.photo[-1].file_id # Получаем последнее фото
>await context.bot.send_photo(chat_id=YOUR_CHAT_ID, photo=photo_file) # Отправляем фото вам
>
>async def handle_video(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>video_file = update.message.video.file_id # Получаем видео
>await context.bot.send_video(chat_id=YOUR_CHAT_ID, video=video_file) # Отправляем видео вам
>
>async def handle_document(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>document_file = update.message.document.file_id # Получаем документ
>await context.bot.send_document(chat_id=YOUR_CHAT_ID, document=document_file) # Отправляем документ вам
>
>async def handle_gif(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>gif_file = update.message.animation.file_id # Получаем GIF
>await context.bot.send_animation(chat_id=YOUR_CHAT_ID, animation=gif_file) # Отправляем GIF вам
>
>async def handle_link(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
>text = update.message.text # Получаем текст
>if 'http' in text: # Проверяем, содержит ли текст ссылку
>await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получена ссылка: {text}")
>
>async def main() -> None:
>try:
># Создаём экземпляр Application
>app = ApplicationBuilder().token(TOKEN).build()
>
># Обработчики сообщений для различных типов
>app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_text)) # Текстовые сообщения
>app.add_handler(MessageHandler(filters.PHOTO, handle_photo)) # Фотографии
>app.add_handler(MessageHandler(filters.VIDEO, handle_video)) # Видео
>app.add_handler(MessageHandler(filters.Document.ALL, handle_document)) # Документы
>app.add_handler(MessageHandler(filters.ANIMATION, handle_gif)) # GIF
>app.add_handler(MessageHandler(filters.TEXT, handle_link)) # Ссылки
>
># Запуск бота
>await app.run_polling()
>except Exception as e:
>print(f"Ошибка при запуске бота: {e}")
>finally:
># Явное завершение работы без попытки закрытия цикла
>await app.shutdown()
>
>def run_bot():
>try:
># Если цикл событий уже запущен, используем его
>loop = asyncio.get_running_loop()
>print("Используем существующий цикл событий...")
>loop.create_task(main())
>except RuntimeError:
># Если цикл не запущен, создаём новый
>print("Запускаем новый цикл событий...")
>asyncio.run(main())
>
>if __name__ == '__main__':
>run_bot()

from telegram import Update
from telegram.ext import (
ApplicationBuilder,
MessageHandler,
filters,
ContextTypes,
)
import asyncio
import re
import logging

# Настройка логирования
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)

# Ваш токен, полученный от BotFather
TOKEN = 'бла бла тут токен'
# Ваш ID в Telegram
YOUR_CHAT_ID = int('бла бла тут айди')

async def handle_text_and_link(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
text = update.message.text
url_pattern = re.compile(r'https?://\S+')

if url_pattern.search(text):
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получена ссылка: {text}")
else:
await context.bot.send_message(chat_id=YOUR_CHAT_ID, text=f"Получено текстовое сообщение: {text}")

async def handle_photo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
photo_file = update.message.photo[-1].file_id
await context.bot.send_photo(chat_id=YOUR_CHAT_ID, photo=photo_file)

async def handle_video(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
video_file = update.message.video.file_id
await context.bot.send_video(chat_id=YOUR_CHAT_ID, video=video_file)

async def handle_document(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
document_file = update.message.document.file_id
await context.bot.send_document(chat_id=YOUR_CHAT_ID, document=document_file)

async def handle_gif(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
gif_file = update.message.animation.file_id
await context.bot.send_animation(chat_id=YOUR_CHAT_ID, animation=gif_file)

async def main() -> None:
try:
app = ApplicationBuilder().token(TOKEN).build()

# Добавляем обработчики
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_text_and_link))
app.add_handler(MessageHandler(filters.PHOTO, handle_photo))
app.add_handler(MessageHandler(filters.VIDEO, handle_video))
app.add_handler(MessageHandler(filters.Document.ALL, handle_document))
app.add_handler(MessageHandler(filters.ANIMATION, handle_gif))

await app.run_polling()
except Exception as e:
logger.error(f"Ошибка при запуске бота: {e}")
finally:
await app.shutdown()

def run_bot():
try:
loop = asyncio.get_running_loop()
print("Используем существующий цикл событий...")
loop.create_task(main())
except RuntimeError:
print("Запускаем новый цикл событий...")
asyncio.run(main())

if __name__ == '__main__':
run_bot()

Показать весь текст

Обновить тред

« /s/В начало тредаВеб-версияНастройки

/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах.Подробнее

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.gq, m2ch.cf, m2ch.fapp.in, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion