image.png479 Кб, 1392x541
Пайтон тред Windows 10: Chromium based 3581177 В конец треда | Веб
Помогите создать бота, уже все перепробовал и даже через ии прогонать. но какая то ссаная ошибка выходит
Windows 10: Chromium based 2 3581178
>>81177 (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 3581178
>>81177 (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 3 3581180
>>81178
Ошибка при запуске бота: 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 3584161
Ошибки тоже скармливай ии. Я так уже два бота сделал. Через мистрал. Начинал с чат гпт, то нам когда лимит кончается он на более глупую модель переходит и качество страдает. На мистрал такой хуйни нету, просто некоторое время не даёт писать
Windows 10: Chromium based 5 3587505
>>84161
Спасибо, пробовал ошибки кормить и ошибка оказалась очень простой... Гпт думал что я НЕ использую среду, а именно вижуал студио код. Когда ему написал об этом, все заработало (он мне норм код написал)
Windows 10: Chromium based 6 3591878
>>84161
Какой чатгпт? Ты поехал что ли? Это говно даже не знает как ip выглядит такой код уровня b пишет.

Вот юзай https://chat.qwen.ai/
или https://chat.deepseek.com/
Windows 10: Chromium based 7 3591879
>>81178

>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 3591879
>>81178

>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/Все доски

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

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