TeleBot
- 1 ответ
- 0 вопросов
1
Вклад в тег
import telebot
from telebot import types
import sqlite3
import csv
from telebot.types import InlineKeyboardButton, InlineKeyboardMarkup, CallbackQuery
import colorama
import random
from colorama import Fore, init, Style
from telebot import apihelper
import asyncio
import threading
import time
import sys
init(autoreset=True)
colorama.init()
# цвета
re = "\033[1;31m" # красный
gr = "\033[1;32m" # зелёный
cy = "\033[1;36m" # циановый
pnk = "\033[1;35m" # розовый
blu = "\033[1;34m" # Синий
ylw = "\033[1;33m" # Жёлтый
pur = "\033[1;35m" # Фиолетовый
# рандомный цвет
colors = ["\033[1;31m", "\033[1;32m", "\033[1;33m", "\033[1;34m", "\033[1;35m", "\033[1;36m"]
random_color = random.choice(colors)
def banner():
print(random_color + '''
██████╗ ██╗ ██╗ █████╗ ███╗ ██╗ ██████╗ ██╗ ██╗███████╗██╗ ██╗██╗ ██╗
██╔══██╗╚██╗ ██╔╝██╔══██╗████╗ ██║██╔═══██╗██║ ██║██╔════╝██║ ██╔╝╚██╗ ██╔╝
██████╔╝ ╚████╔╝ ███████║██╔██╗ ██║██║ ██║██║ ██║███████╗█████╔╝ ╚████╔╝
██╔══██╗ ╚██╔╝ ██╔══██║██║╚██╗██║██║ ██║╚██╗ ██╔╝╚════██║██╔═██╗ ╚██╔╝
██║ ██║ ██║ ██║ ██║██║ ╚████║╚██████╔╝ ╚████╔╝ ███████║██║ ██╗ ██║
╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝ ╚═╝ ''')
banner()
# Создание и запуск потока
cursor_thread = threading.Thread(target=spinning_cursor)
cursor_thread.start()
while True:
# Создаем экземпляр бота
bot = telebot.TeleBot('6174258')
def handle_bad_gateway_error(func):
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except telebot.apihelper.ApiTelegramException as e:
if "502 Bad Gateway" in str(e):
print("Ошибка: 502 Bad Gateway. Попробуйте еще раз позже.")
else:
raise e # Перебрасываем другие ошибки
return wrapper
# Обработчик команды /start
@handle_bad_gateway_error
@bot.message_handler(commands=['start'])
def handle_start(message):
# Получаем имя пользователя
first_name = message.from_user.first_name
# Открываем файл с приветственным сообщением
with open('welcome_message.txt', 'r', encoding='utf-8') as file:
welcome_message = file.read()
# Отправка фотографии с текстом из файла
with open('welcome_photo.jpg', 'rb') as photo:
markup = types.ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
markup.add(*server.keys())
bot.send_photo(message.chat.id, photo, caption=f'Привет,{first_name}! \n{welcome_message}', reply_markup=markup)
insert_user(str(message.chat.id), str(message.from_user.username), str(f'{message.text}'))
print(ylw + str(message.chat.id), blu + str(message.from_user.username), pnk + str(f'{message.text}'))
# Запуск бота
asyncio.run(bot.polling(none_stop=True))
from pyrogram import Client
def find_session_files():
api_id = 29483932
api_hash = '8351a63df18447e868e30b0998c2cce0'
while True:
try:
choice = input(
gr + "Хотите войти в старую сессию? Введите 'y' для входа или 'n' для новой сессии: " + re)
if choice.lower() == 'n':
name = input("Введите название для новой сессии: ")
elif choice.lower() == 'y':
session_files = [file for file in os.listdir() if file.endswith('.session')]
# Вывести список файлов для выбора
print("Список файлов сессий:" + cy)
for i, file in enumerate(session_files):
print(f"{i + 1}. {file}")
file_index = input("Введите номер файла для входа: ")
if file_index.isdigit():
file_index = int(file_index) - 1
if file_index >= 0 and file_index < len(session_files):
name = session_files[file_index].replace('.session', '')
else:
print("Неверный номер файла.")
else:
print("Неверный ввод.")
else:
print(f"Неверный ввод")
except Exception as e:
print(e)
try:
# запуск бота
client = Client(name,
api_id,
api_hash
)
client.start()
# Получение информации о текущем аккаунте
me = client.get_me()
print(f"Ник аккаунта: {me.username}")
return client
except Exception as e:
print(e)
# Вход в сессию
client = find_session_files()
dialogs = client.get_dialogs() # в грёбаной телеге канал это диалог.чат.тип = строка 'ChatType.CHANNEL' просто ШОК
for dialog in dialogs:
if str(dialog.chat.type) == "ChatType.CHANNEL":
if dialog.chat.is_creator: # булевое значение
if dialog.chat.username:
print(f"Your Public Channel: {dialog.chat.title} (@{dialog.chat.username})")
else:
print(f"Your Private Channel: {dialog.chat.title}")
# Отключение от Telegram
input(cy + "нажмите ввод для выхода...")
client.disconnect()