# Отправка электронного письма
def send_email(message):
msg_email = MIMEMultipart()
msg_email['From'] = email_from
msg_email['To'] = email_to
msg_email['Subject'] = 'Тема'
body = 'Текст сообщения'
msg_email.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP_SSL('smtp.mail.ru:465')
server.login(email_from, email_password)
text = msg_email.as_string()
server.sendmail(email_from, email_to, text)
server.quit()
def xlsx(message):
time.sleep(3)
date = datetime.now()
quantity = message
doc = openpyxl.load_workbook(filename='table.xlsx')
sheet = doc['test']
rows = (
(date, quantity),
)
for row in rows:
sheet.append(row)
doc.save('table.xlsx')
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
vk_session = vk_api.VkApi(token=constant.token)
vk = vk_session.get_api()
longpoll = VkBotLongPoll(vk_session, constant.group_id)
# Обработка событий ВК
for event in longpoll.listen():
# Начало беседы
if event.obj.text == 'Начать':
...
from pyrogram import Client
app = Client(
session_name="pyro",
proxy=dict(
hostname="",
port=1080,
username="",
password=""),
api_id='',
api_hash='')
app.start()
app.send_message(chat_id=123, text='привет')
app.stop()
from ldap3 import Server, Connection, SUBTREE
s = Server(ad_domain, use_ssl=True, port=636) # Адрес домена, шифрование, порт
c = Connection(s, ad_admin, ad_password)
# Поиск учётной записи в домене (Active Directory) по фамилии или логину
def search_ad(last='*', login='*'):
c.bind()
c.search('ou=Офис, dc=domain, dc=local',
'(&(objectCategory=Person)(sn={})(sAMAccountName={}))'.format(last, login), SUBTREE,
attributes=['sAMAccountName', 'givenName', 'sn', 'cn', 'whenCreated', 'lastLogon', 'pwdLastSet',
'msDS-UserPasswordExpiryTimeComputed', 'memberOf', 'ipPhone', 'lockoutTime',
'distinguishedName'])
a = c.entries
c.unbind()
return a
# Вывод информации учётной записи в домене (Active Directory)
def change_ad(cn):
c.bind()
c.search('ou=Офис, dc=domain, dc=local', '(&(objectCategory=Person)(cn={}))'.format(cn), SUBTREE,
attributes=['sAMAccountName', 'givenName', 'sn', 'cn', 'whenCreated', 'lastLogon', 'pwdLastSet',
'msDS-UserPasswordExpiryTimeComputed', 'memberOf', 'ipPhone', 'lockoutTime'])
a = c.entries
for ad_user in c.entries:
name = ad_user['givenName']
last = ad_user['sn']
login = ad_user['sAMAccountName']
# Отправка электронного письма
def send_email(message):
msg_email = MIMEMultipart()
msg_email['From'] = email_from
msg_email['To'] = email_to
msg_email['Subject'] = 'Тема'
body = 'Текст сообщения'
msg_email.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP_SSL('smtp.yandex.ru:465')
server.login(email_from, email_password)
text = msg_email.as_string()
server.sendmail(email_from, email_to, text)
server.quit()
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'C:\Users\Violet\AppData\Local\Tesseract-OCR\tesseract.exe'
print(pytesseract.image_to_string(Image.open(r'img\driver_fr\777.jpg'), lang="rus"))
для передачи текста в другую функцию используйте bot.register_next_step_handler().
например этот код сначала запросит домен, после ФИО должность и номер телефона, и в итоге создаст корпоративный email с указанными параметрами
@bot.message_handler(commands=['emailcreate'])
def email_create_request_domain(message):
if message.text.lower() == 'отмена':
bot.send_message(message.from_user.id, 'На нетъ и суда нетъ')
return
send = bot.send_message(message.chat.id, 'Зьдати емейлъ\nПочтовый ящикъ:\n'
'example.ru, example1.ru, example2.ru, example3.ru, example4.ru ')
bot.register_next_step_handler(send, email_create_request_data)
def email_create_request_data(message):
global domain_uis
domain_uis = message.text.lower()
if message.text.lower() == 'отмена':
bot.send_message(message.from_user.id, 'На нетъ и суда нетъ')
return
send = bot.send_message(message.chat.id, 'Введите: ФИО должность нумеръ')
bot.register_next_step_handler(send, email_create)
def email_create(message):
first = message.text.split()[1]
last = message.text.split()[0]
middle = message.text.split()[2]
phone = message.text.split()[4]
position = message.text.split()[3]
uis_login = create_nickname(first, last, middle, 'email_create')
bot.send_message(message.chat.id, '✅ логинъ')
uis_password = create_password()
bot.send_message(message.chat.id, '✅ шифръ')
id_yc = create_email(first, last, middle, phone, position, uis_password, uis_login, domain_uis)
if 'Response' in str(id_yc):
bot.send_message(message.chat.id, '❌ емейлъ' + '\n' + id_yc)
return
else:
bot.send_message(message.chat.id, '✅ емейлъ')
bot.send_message(message.chat.id, uis_login + '@' + domain_uis + '\n' + uis_password)
# Ограничение доступа к боту по ID
@bot.message_handler(func=lambda message: message.chat.id not in users)
def some(message):
bot.send_message(message.chat.id, 'Не дозволено общаться с незнакомцами')
# Ограничение выполнение команды start
@bot.message_handler(func=lambda message: message.chat.id not in users, commands=['start'])
def some(message):
bot.send_message(message.chat.id, 'Не дозволено')
# Ограничение выполнение команд
@bot.message_handler(func=lambda message: message.chat.id not in users_command,
commands=['command1', 'command2', 'command3', 'command4'])
def some(message):
bot.send_message(message.chat.id, 'Не дозволено')
@bot.message_handler(commands=['emailcreate'])
def email_create_request_domain(message):
if message.text.lower() == 'отмена':
bot.send_message(message.from_user.id, 'На нетъ и суда нетъ')
return
send = bot.send_message(message.chat.id, 'Зьдати емейлъ\nПочтовый ящикъ:\n'
'example.ru, example1.ru, example2.ru, example3.ru, example4.ru ')
bot.register_next_step_handler(send, email_create_request_data)
def email_create_request_data(message):
global domain_uis
domain_uis = message.text.lower()
if message.text.lower() == 'отмена':
bot.send_message(message.from_user.id, 'На нетъ и суда нетъ')
return
send = bot.send_message(message.chat.id, 'Введите: ФИО должность нумеръ')
bot.register_next_step_handler(send, email_create)
def email_create(message):
first = message.text.split()[1]
last = message.text.split()[0]
middle = message.text.split()[2]
phone = message.text.split()[4]
position = message.text.split()[3]
uis_login = create_nickname(first, last, middle, 'email_create')
bot.send_message(message.chat.id, '✅ логинъ')
uis_password = create_password()
bot.send_message(message.chat.id, '✅ шифръ')
id_yc = create_email(first, last, middle, phone, position, uis_password, uis_login, domain_uis)
if 'Response' in str(id_yc):
bot.send_message(message.chat.id, '❌ емейлъ' + '\n' + id_yc)
return
else:
bot.send_message(message.chat.id, '✅ емейлъ')
bot.send_message(message.chat.id, uis_login + '@' + domain_uis + '\n' + uis_password)
@bot.message_handler(commands=['start'])
def cmd_start(message):
start_keyboard = types.InlineKeyboardMarkup()
start_service = types.InlineKeyboardButton(text='Службы', callback_data='service')
start_system = types.InlineKeyboardButton(text='Система', callback_data='system')
start_check = types.InlineKeyboardButton(text='Чек', callback_data='check')
start_other = types.InlineKeyboardButton(text='Другое', callback_data='other')
start_keyboard.add(start_service, start_system)
start_keyboard.add(start_check, start_other)
bot.send_message(message.chat.id, '', reply_markup=start_keyboard)
start = telebot.types.ReplyKeyboardMarkup(True, False)
start.row('Wunderlist')
start.row('Telegraph')
start.row('Погода')
start.row('Контакты')
bot.send_message(message.from_user.id, 'Выбери сервис', reply_markup=start)