|
@@ -1,14 +1,18 @@
|
|
|
|
|
|
from multiprocessing import connection
|
|
|
+from types import NoneType
|
|
|
+from urllib import response
|
|
|
import xmpp
|
|
|
import pymysql
|
|
|
-from config import host, user, password, db_name, jid, jidpassword
|
|
|
+import requests
|
|
|
+from config import host, user, password, db_name, jid, jidpassword, port
|
|
|
from BotClass import JabberBot
|
|
|
+
|
|
|
|
|
|
try:
|
|
|
connection = pymysql.connect(
|
|
|
host=host,
|
|
|
- port=3306,
|
|
|
+ port=port,
|
|
|
user=user,
|
|
|
password=password,
|
|
|
database=db_name,
|
|
@@ -60,20 +64,22 @@ def add_user(userName):
|
|
|
|
|
|
IDORDER = 0
|
|
|
mylist = set()
|
|
|
+def proverka(user):
|
|
|
+ with connection.cursor() as cursor:
|
|
|
+ sqlproverka = "SELECT * FROM testbotdb.user WHERE Fullname = %s"
|
|
|
+ cursor.execute(sqlproverka, str(user).split("/")[0])
|
|
|
+ status = cursor.fetchone()
|
|
|
+ return status
|
|
|
|
|
|
def message_handler(conn, mess):
|
|
|
|
|
|
text = mess.getBody()
|
|
|
user = mess.getFrom()
|
|
|
|
|
|
- with connection.cursor() as cursor:
|
|
|
- sqlproverka = "SELECT * FROM testbotdb.user WHERE Fullname = %s"
|
|
|
- cursor.execute(sqlproverka, user)
|
|
|
- status = cursor.fetchone()
|
|
|
-
|
|
|
- if add_user(user):
|
|
|
- conn.send(xmpp.Message(user, 'Вас приветствует тестовый бот для создания, просмотра и управления заказами.\nВоспользуйтесь коммандой help для ознокомления с моим функционалом.'))
|
|
|
-
|
|
|
+ add_usertrue = add_user(user)
|
|
|
+ status = proverka(user)
|
|
|
+ if add_usertrue:
|
|
|
+ conn.send(xmpp.Message(user, 'Здраствуйте, Вас приветствует бот помощник от компании Sharix. Здесь вы можете найти ответ на интересующий вас вопрос. \nВоспользуйтесь коммандой help для ознокомления с моим функционалом.'))
|
|
|
elif status['IdStatus'] == 2 and status['FullName'] == user and text != 'cancel':
|
|
|
InsertOderName(text, status['idUser'], user)
|
|
|
conn.send(xmpp.Message(user, 'Укажите описание заказа:'))
|
|
@@ -97,13 +103,19 @@ def message_handler(conn, mess):
|
|
|
|
|
|
else:
|
|
|
if text == "help":
|
|
|
- conn.send(xmpp.Message(user, '\nhelp - предоставляет список доступных комманд\ncancel - отмена любой из операций\naddorder - добавить заказ\ndeleteorder - удалить заказ\nlistorder - показывает список заказов\nwheather - показывает погоду'))
|
|
|
+ conn.send(xmpp.Message(user, '\nhelp - предоставляет список доступных комманд\ncancel - отмена любой из операций\naddorder - добавить заказ\nweather - показывает погоду в Москве'))
|
|
|
elif text == "cancel":
|
|
|
changeOrderStatus(1, user)
|
|
|
conn.send(xmpp.Message(user, 'Отменено.'))
|
|
|
elif text == "addorder":
|
|
|
changeOrderStatus(2, user)
|
|
|
conn.send(xmpp.Message(user, 'Укажите имя заказа:'))
|
|
|
+ elif text == "weather":
|
|
|
+ response = requests.get("https://api.openweathermap.org/data/2.5/weather?q=Moscow,ru&APPID=682b40b734e34607e32801ee558293a3")
|
|
|
+ town = response.json()['name']
|
|
|
+ tem = round(response.json()['main']['temp'] - 273.15, 1)
|
|
|
+ temfeels = round(response.json()['main']['feels_like'] - 273.15, 1)
|
|
|
+ conn.send(xmpp.Message(user, f'\nГород: {town}\nТемпература:{tem}\nОщущается как:{temfeels}'))
|
|
|
else:
|
|
|
conn.send(xmpp.Message(user, 'Комманда не определена. Воспользуйтесь командой help.'))
|
|
|
|