if text == 'привет' or 'привет)' or 'здравствуйте': pass
.if text == 'привет' or text == 'привет)' or text == 'здравствуйте': pass
import telebot
TOKEN = "TOKEN"
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start', 'go'])
def start_handler(message):
bot.send_message(message.chat.id, 'Привет, напиши тривиальное название химического вещества, а я посмотрю, что о нём знаю.')
@bot.message_handler(content_types=['text'])
def text_handler(message):
text = message.text.lower()
# from re import sub
# text = sub(r'[^\w\s]', '', text) # Можешь использовать для удаления всех не нужных знаков по типу - : ; ! , ? . - _ и т.д
chat_id = message.chat.id
if text == 'привет' or text == 'привет)' or text == 'здравствуй' or text == 'здравствуйте' or text == 'здорово' or text == 'здравствуй)' or text == 'здравствуйте)' or text == 'ghbdtn' or text == 'plhfdcndeqnt' or text == 'plhfdcndeq':
bot.send_message(chat_id, 'Привет, меня зовут Врунишка - главный знаток химических названий... А если серьёзно, то я всего-навсего обычный бот, который любит химию.\n\n'
'Буду рад поделиться своими знаниями. Просто напиши название вещества, а я посмотрю в своей химической базе данных.')
elif text == 'как дела?':
bot.send_message(chat_id, 'Хорошо, а у тебя?')
elif text == 'бензол' or text == 'benzene' or text == 'бензен' or text == 'фениловый водород' or text == 'фенан' or text == 'фениленгидрид' or text == 'циклогекса-1,3,5-триен' or text == '1,3,5-циклогексатриен' or text == '[6]-аннулен' or text == '[6]аннулен':
bot.send_message(chat_id, 'Название ИЮПАК: бензол, циклогекса-1,3,5-триен\n'
'Прочие названия: бензен, фениловый водород, [6]-аннулен\n'
'На английском: benzene, phenane, phenylene hydride, 1,3,5-Cyclohexatriene, [6]Annulene\n\n'
'Брутто-формула: C\u2086H\u2086 \n'
'Молярная масса: 78,11 г/моль')
else:
bot.send_message(chat_id, 'Простите, я ваc не понял :(')
bot.polling(none_stop=True, interval=0)
from json import load, dump
class Users:
"""Общий класс для работы с пользователями в формате JSON"""
def __init__(self, filename='users.json'):
self.filename = filename
self.load()
def load(self):
"""Загрузить файл с пользователями"""
try:
with open(self.filename) as fp:
self.users = load(fp)
except FileNotFoundError:
self.users = {}
def save(self):
"""Сохраняет файл с пользователями"""
with open(self.filename, 'w') as fp:
dump(self.users, fp)
def add_user(self, name, lakes):
"""Добавляет пользователя"""
user_id = str(len(self.users) + 1)
self.users[user_id] = {'name': name, 'lakes': lakes} # Здесь можно добавить поля
self.save()
def remove_user(self, user_id):
"""Удаляет пользователя"""
if user_id in self.users:
del self.users[user_id]
self.save()
def get_users(self):
"""Получить пользователей"""
return self.users
def get_user(self, user_id):
"""Получить пользователя под номером..."""
return self.users.get(user_id, None)
# Иниц-я
users = Users()
print(users.users)
# добавлять пользователя
users.add_user("Poll", 124)
# Сохранить файл
users.save()
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.utils import executor
# Устанавливаем уровень логов
logging.basicConfig(level=logging.INFO)
# Создаем бота
bot = Bot(token='YOUR_TOKEN_HERE')
# Создаем диспетчер
dp = Dispatcher(bot)
# Обработка команды /start
@dp.message_handler(commands=['start'])
async def start(message: types.Message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Приобрести голду")
btn2 = types.KeyboardButton("☄️ Отзывы")
btn3 = types.KeyboardButton("inline")
btn5 = types.KeyboardButton(" Тех поддержка")
btn6 = types.KeyboardButton(" Профиль")
markup.add(btn1, btn2, btn3, btn5, btn6)
chat_id = message.chat.id
photo = open(r"C:\Users\Вадим\Downloads\msg5595864732-30890.jpg", 'rb')
await bot.send_photo(chat_id, photo=photo, caption='Добро пожаловать! \nесли обнаружены ошибки или вопросы - напишите @unponcka \n\n⚔используйте меню для взаимодействия с ботом', reply_markup=markup)
# Обработка текстовых сообщений
@dp.message_handler(content_types=['text'])
async def handle_text(message: types.Message):
if message.text == "☄️ Отзывы":
markup = types.InlineKeyboardMarkup()
btn1 = types.InlineKeyboardButton(text='Перейти', url='https://qna.habr.com/q/1247696?ysclid=lhagk8lb8966...')
markup.add(btn1)
chat_id = message.chat.id
photo = open(r"C:\Users\Вадим\Downloads\otz.jpg", 'rb')
await bot.send_photo(chat_id, photo=photo, caption='Наш канал с отзывами.', reply_markup=markup)
elif message.text == " В Главное меню":
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
button1 = types.KeyboardButton("Приобрести голду")
button2 = types.KeyboardButton("☄️ Отзывы")
button3 = types.KeyboardButton("inline")
button4 = types.KeyboardButton(" Тех поддержка")
button5 = types.KeyboardButton(" Профиль")
markup.add(button1, button2, button3, button4, button5)
await bot.send_message(message.chat.id, text="Вы вернулись в главное меню.", reply_markup=markup)
elif message.text == " Тех поддержка":
markup = types.InlineKeyboardMarkup()
btn1 = types.InlineKeyboardButton(text='Написать', url='t.me/')
markup.add(btn1)
chat_id = message.chat.id
photo = open(r"C:\Users\Вадим\Downloads\tex.jpg", 'rb')
await bot.send_photo(chat_id, photo=photo, caption=' Наша тех поддержка, задайте конкретный вопрос, время ответа 10-20 минут.', reply_markup=markup)
elif message.text == "inline":
markup = types.InlineKeyboardMarkup()
btn1 = types.InlineKeyboardButton(text='Наш сайт', url='https://www.youtube.com/watch?v=xFoUNDRVBYM')
btn2 = types.InlineKeyboardButton(text='Сработает?', callback_data="price_1")
markup.add(btn1, btn2)
await bot.send_message(message.chat.id, "Нажми на кнопку и перейди на наш сайт.", reply_markup=markup)
elif message.text == " Профиль":
await bot.send_message(message.chat.id, f'Имя: {message.from_user.first_name} \nID: {message.from_user.id} \nБаланс: ')
elif message.text == "Приобрести голду":
message = await bot.send_message(message.chat.id, "Введите сумму в рублях: ")
await dp.register_next_step_handler(message, start_2)
# Обработка callback-запросов
@dp.callback_query_handler(lambda call: True)
async def callback_handler(call: types.CallbackQuery):
if call.message:
if call.data == 'price_1':
await bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.id, text='Сработало!')
async def on_startup(dp):
await bot.send_message(chat_id='YOUR_CHAT_ID', text='Бот запущен')
if __name__ == '__main__':
executor.start_polling(dp, on_startup=on_startup)
// Исходная логика
$('input').keyup(function(){
if($(this).val().match(/^\d{1}$/))
$(this).next('input').focus();
else
$(this).val('');
// Находим следующий элемент input
var nextInput = $(this).nextAll('input').first();
// Если следующий элемент input существует, то устанавливаем на него фокус
if (nextInput.length)
nextInput.focus();
});
animation
, а как подключить @keyframes
к JS можешь и сам узнать (НО если нужно могу дать пример)..open
- при открытии и .close
- при закрытии, там же писать логику, когда закрывается, открывается и, конечно, когда он в статике.blob == None
, добавь if
что если он не равен None
, то выполняем код для студента, ну и если же он пуст, то выводим ("Error: blob is None") или какую-то логику.if blob is not None:
# Тут логика если он не равен None
array = np.frombuffer(blob.download_as_string(), np.uint8)
imgStudent = cv2.imdecode(array, cv2.COLOR_BGRA2BGR)
else:
# Тут если он равен None
print(f"Image for student {id} not found in storage")
// Загрузка объекта из localStorage при загрузке страницы
const object = JSON.parse(localStorage.getItem('obj')) || {};
// Функция, которая обновляет объект и сохраняет его в localStorage
function updateLocalStorage(prize) {
const key = document.getElementById(prize).innerText;
object[key] = (object[key] || 0) + 1;
localStorage.setItem('obj', JSON.stringify(object));
}
// Пример использования функции
updateLocalStorage('prize1');