Академический Документы
Профессиональный Документы
Культура Документы
import telegram
from telegram.ext import Updater, CommandHandler
updater = Updater(token='YOUR_TOKEN')
updater.dispatcher.add_handler(CommandHandler('start', start))
updater.start_polling()
Для начала, нам нужно получить API-ключ от сайта They Said So.
Затем мы можем использовать библиотеку requests для отправки
запросов на сервер сайта и получения случайной цитаты.
import requests
def get_quote():
....url = "https://api.theysaidso.com/quote/random"
....headers = {"Accept": "application/json"}
....response = requests.get(url, headers=headers)
....quote = response.json()["contents"]["quote"]
....return quote
updater.dispatcher.add_handler(CommandHandler('quote', quote))
updater.dispatcher.add_handler(CommandHandler('cat', cat))
import pyowm
owm = pyowm.OWM('your-api-key')
def get_weather(city):
....observation = owm.weather_at_place(city)
....weather = observation.get_weather()
....temperature = weather.get_temperature('celsius')['temp']
....status = weather.get_detailed_status()
....return f"Current weather in {city}: {status}. Temperature:
{temperature}°C"
updater.dispatcher.add_handler(CommandHandler('weather', weather))
import requests
updater.dispatcher.add_handler(CommandHandler('translate',
translate_text))
Мы добавили обработчик команды "/translate", который получает
язык перевода и текст для перевода из сообщения пользователя и
вызывает функцию translate для получения перевода. Затем мы
отправляем полученный перевод пользователю.
Теперь наш бот имеет четыре функции: отправку случайной цитаты,
отправку случайной картинки кота, получение информации о погоде
для заданного города и перевод заданного текста на заданный язык.
Мы можем продолжать добавлять новые функции, чтобы сделать наш
бот еще более полезным и интересным для пользователей.
def text_to_speech(text):
....language = 'en'
....speech = gTTS(text=text, lang=language, slow=False)
....buffer = BytesIO()
....speech.write_to_fp(buffer)
....buffer.seek(0)
....audio = AudioSegment.from_file(buffer, format='mp3')
....return audio
updater.dispatcher.add_handler(CommandHandler('speak', speak_text))
def generate_image(text):
....image = Image.new(mode='RGB', size=(500, 500), color=(255, 255,
255))
....draw = ImageDraw.Draw(image)
....font = ImageFont.truetype('arial.ttf', size=30)
....draw.text((50, 50), text, fill=(0, 0, 0), font=font)
....return image
updater.dispatcher.add_handler(CommandHandler('image',
send_image))
import sqlite3
conn = sqlite3.connect('subscriptions.db')
cursor = conn.cursor()
conn.commit()
conn.close()
updater.dispatcher.add_handler(CommandHandler('subscribe',
subscribe))
updater.dispatcher.add_handler(CommandHandler('news', news))
python bot.py
engine = create_engine('sqlite:///users.db')
Base = declarative_base()
class User(Base):
....__tablename__ = 'users'
....id = Column(Integer, primary_key=True)
....name = Column(String)
....age = Column(Integer)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
users = session.query(User).all()
for user in users:
....print(user.name, user.age)
import telebot
@bot.message_handler(commands=['start'])
def handle_start(message):
....bot.send_message(message.chat.id, 'Привет, я ваш бот! Чем я могу
вам помочь?')
bot.polling()
import telebot
import ml_model
bot = telebot.TeleBot('TOKEN')
bot.polling()
import telegram
from telegram.ext import Updater, CommandHandler, MessageHandler,
Filters
# Запуск бота
updater.start_polling()
updater.idle()
import telegram
from telegram.ext import Updater, MessageHandler, Filters
# Запускаем бота
updater.start_polling()
import telegram
from telegram.ext import Updater, CommandHandler, MessageHandler,
Filters
# Обработчик команды /start
def start(update, context):
....context.bot.send_message(chat_id=update.message.chat_id,
text="Привет! Я бот для Telegram. Напишите мне что-нибудь.")
# Запуск бота
updater.start_polling()
updater.idle()