import numpy as np
import math
n=12
for i in np.arange(n-3, n+1, 0.1):
a=(math.cos(round(i, 2)))/(2*math.tan(round(i, 2)))
b1=(6-round(i, 2))
b2=math.exp(b1)
ab=a+b2
c=math.log(5*round(i, 2)-2)
print("------------------------")
print(str(round(i, 2)) + " | " + str(a))
print("------------------------")
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
for row in call.message.json['reply_markup']['inline_keyboard']:
if call.data==row[0]['callback_data']:
print(f'Текст на нажатой кнопке: {row[0]["text"]}')
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
for row in call.message.json['reply_markup']['inline_keyboard']:
print(row[0]['text'])
random_choice = ""
@bot.message_handler(commands = ['team'])
def team(message):
local_random_choice = random.choice(team_name) #Рандомный элемент, который меняется после вызова команды
global random_choice #Задаём глобальную переменную
while random_choice == local_random_choice:
local_random_choice = random.choice(team_name)
random_choice = local_random_choice #После итераций замены рандомного элемента наконец меняем глобальную переменную
bot.send_message(message.from_user.id, random_choice)
import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
from selenium import webdriver
import time
URL = 'https://forum.malinovka.org/topic/13323-список-действующих-лидеров/'
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(executable_path="chromedriver.exe", options=options)
driver.get(url=URL)
time.sleep(2)
useragent = UserAgent()
needed_html_code = driver.page_source
driver.close()
driver.quit()
soup = BeautifulSoup(needed_html_code, "html.parser")
content_div = soup.find('div', class_='cPost_contentWrap ipsPad')
for p in content_div.find_all('p')[1:]:
for item in p.contents:
print(str(item.string).replace('None', ''), end='\n')
print("-"*15)
bot.register_next_step_handler
. Вы привязываете его к отправленной команде, а нужно к сообщению с просьбой указать номер:msg = bot.send_message(message.from_user.id, "Введите номер телефона. Пример: 79xxxxxxxxx")
number = bot.register_next_step_handler(msg, bomber)
def bomber(message):
while True:
number = message.text
documentList = ['D:\\My files\\Desktop\\telegram\\прайс 16 апрель.xls',
'D:\\My files\\Desktop\\telegram\\прайс 17 апрель янги.xls',
'D:\\My files\\Desktop\\telegram\\Драг Промоущн прайс 19 апрель.xls',
'D:\\My files\\Desktop\\telegram\\прайс 21 апрель янги.xls']
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(callback):
for row in documentList:
bot.send_document(callback.message.chat.id, open(row, 'rb'))
time.sleep(5)
@bot.message_handler(commands=['keyboard','start'])
Функция с использованием команды start уже была выше, поэтому программа не доходит до этой части кода для команды start. Если хотите вызвать обе функции, то сделайте так:@bot.message_handler(commands=['start'])
def handle_start(message):
bot.send_message(message.chat.id, "Приветствую, студент.")
bot.send_message(message.chat.id, "Ты попал в чат-бот Беловского педагогического колледжа.")
bot.send_message(message.chat.id, "Напишите /help чтобы ознакомиться с функциями или выберите пункт меню.")
hendler_keyboard(message)
@bot.message_handler(commands=['keyboard','start'])
@bot.message_handler(commands=['addbutton'])
def addingbtn(message):
check_name=bot.send_message(message.from_user.id, f'Текст кнопки?')
action='adding'
bot.register_next_step_handler(check_name, adding_name, action)
@bot.message_handler(commands=['delbutton'])
def delbutn(message):
check_name=bot.send_message(message.from_user.id, f'Текст кнопки?')
action='deleting'
bot.register_next_step_handler(check_name, adding_name, action)
def adding_name(message, action):
try:
sql.execute(f"SELECT * FROM keyboards WHERE text = '{message.text}'")
found_text=sql.fetchone()
except:
found_text=None
text=message.text
check_url=bot.send_message(message.from_user.id, f'URL кнопки?')
bot.register_next_step_handler(check_url, adding_url, text, found_text, action)
def adding_url(message, text, found_text, action):
try:
sql.execute(f"SELECT * FROM keyboards WHERE url = '{message.text}'")
found_url=sql.fetchone()
except:
found_url=None
url=message.text
if found_text!=None:
if action.lower()=='adding':
sql.execute("UPDATE keyboards SET text = ?, url = ? WHERE text = ?", (text, url, text))
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно изменили кнопку")
elif action.lower()=='deleting':
sql.execute(f"DELETE FROM keyboards WHERE text = '{text}'")
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно удалили кнопку")
elif found_url!=None:
if action.lower()=='adding':
print(text)
sql.execute("UPDATE keyboards SET text = ?, url = ? WHERE url = ?", (text, url, url))
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно изменили кнопку")
elif action.lower()=='deleting':
sql.execute(f"DELETE FROM keyboards WHERE url = '{url}'")
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно удалили кнопку")
else:
if action.lower()=='adding':
sql.execute("INSERT INTO keyboards VALUES (?, ?)", (text, url))
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно добавили новую кнопку")
elif action.lower()=='deleting':
bot.reply_to(message, text=f"❌ Кнопка не найдена в базе данных")
sql.execute(f"SELECT * FROM keyboards")
print(sql.fetchall())