npm install gsap@latest
npm install gsap@latest --save-dev
npm install gsap-blur
import { gsap } from "gsap";
import { blur } from "gsap-blur";
const img = document.querySelector("#communication-img img");
const newImgSrc = "/assets/img/communication/chat1.png";
gsap.timeline()
.to(img, {
attr:{src:newImgSrc},
duration: 1,
ease: "none",
modifiers: {
blur: blur
},
blur: 50
})
import openai
client = openai.Client()
PROMPT = "Что такое OpenAI?"
HISTORY = "OpenAI - это компания, которая разрабатывает искусственный интеллект."
edited_news_text = client.chat.responses.create(
model="gpt-3.5-turbo",
prompts=[PROMPT, HISTORY],
stream=False,
)
print(edited_news_text.choices[0].message.content)
def new_user(self, bot, chat_id, user_tg_id, user_name, language_code, link):
self._model.chat_id = chat_id
self._model.user_tg_id = user_tg_id
result = asyncio.run(db.insert_user(self._model))
self._model = result._data[0]
if user_name is not None:
self.user_info = User_info(self._model, user_name, language_code, True)
else:
self.user_info = User_info(self._model, "", language_code, True)
self.status = enums.user_status.user
self.checkReferal(bot, link)
try:
client = await tdesk.ToTelethon(session=path, proxy=proxy, auto_reconnect=False)
task1 = loop.create_task(client.connect())
await asyncio.wait_for(task1, timeout=5)
except Exception as e:
print(f"An error occurred: {e}")
finally:
if client.is_connected():
await client.disconnect()
$("#wrappelLine").on("focusout", "#extLineSipProxy", function () {
var text = $(this).val();
var id = $(this).attr("id");
var parts = text.split(':');
var ipOrDns = parts[0];
var port = parts[1];
var reg = /^(([0-9]{1,4})|([1-5][0-9]{4})|(6[0-4][0-9]{3})|(65[0-4][0-9]{2})|(655[0-2][0-9])|(6553[0-5]))$/;
if (!reg.test(port) && $.trim(port) != "") {
alert("Неверное значение порта.\nВы должны выбрать порт из данного диапазона:\n0-65535.");
return 0;
}
$(this).replaceWith('<div class="EXL_MAIN_SIP_C3TCRRInp1" id="' + id + '">' + text + '</div>');
$("#" + id).focus();
});
$("#wrappelLine").on("focusout", "#extLineSipProxy", function () {
var text = $(this).val();
var id = $(this).attr("id");
$(this).replaceWith('<div class="EXL_MAIN_SIP_C3TCRRInp1" id="' + id + '">' + text + '</div>');
});
$("#wrappelLine").on("dblclick", "#extLineSipPort", function () {
var text = $(this).text();
var id = $(this).attr("id");
$(this).replaceWith('<input type="text" class="EXL_MAIN_SIP_C3TCRRInpSh1" maxlength="5" id="' + id + '" value="' + text + '" />');
$("#" + id).focus();
});
$("#wrappelLine").on("focusout", "#extLineSipPort", function () {
var text = $(this).val();
var id = $(this).attr("id");
var reg = /^(([0-9]{1,4})|([1-5][0-9]{4})|(6[0-4][0-9]{3})|(65[0-4][0-9]{2})|(655[0-2][0-9])|(6553[0-5]))$/;
if (!reg.test(text) && $.trim(text) != "") {
alert("Неверное значение порта.\nВы должны выбрать порт из данного диапазона:\n0-65535.");
// $(this).focus();
return 0;
}
if ($.trim(text.replace(/[",']/g, '')) == "" && $.trim(text) != "") {
alert("Введите Порт!");
// $(this).focus();
} else {
if ($.trim(text) == "") {
text = 5060;
}
$(this).replaceWith('<div class="EXL_MAIN_SIP_C3TCRRInpSh1" id="' + id + '">' + text + '</div>');
$("#extLineSipURI").attr("title", 'sip:' + $("#extLineSipLogin").text() + '@' + $("#extLineSipHost").text() + ':' + text);
}
});
$(document).ajaxSuccess(function () {
var f0dChildren = $('#f0_d_');
var fotosRElems = $('[id^="fotos-r"]');
var sortableOptions = {
animation: 150,
handle: '.click_red, [class^="tab-ds f_"]',
};
function applySortable(elements, options) {
elements.each(function () {
new Sortable(this, options);
});
}
applySortable(f0dChildren, sortableOptions);
applySortable(fotosRElems, sortableOptions);
});
$(document).on('content-loaded', function () {
// Вызывайте applySortable после добавления контента через AJAX
applySortable($('#f0_d_'), sortableOptions);
applySortable($('[id^="fotos-r"]'), sortableOptions);
});
$(document).trigger('content-loaded');
function generateOrderNumber(branch, orderType, number) {
return `${branch}-${orderType}-${number}`;
}
node-postgres
Установи еёnpm install pg
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
order_number VARCHAR(255) UNIQUE NOT NULL,
branch CHAR(1) NOT NULL,
order_type CHAR(1) NOT NULL,
created_at TIMESTAMP NOT NULL
);
orders
const { Pool } = require('pg');
const pool = new Pool({
// Ваши настройки подключения к базе данных
});
async function addOrder(branch, orderType) {
const client = await pool.connect();
try {
await client.query('BEGIN');
const { rows } = await client.query('SELECT COUNT(*) as count FROM orders WHERE created_at >= CURRENT_DATE');
const orderNumber = generateOrderNumber(branch, orderType, parseInt(rows[0].count) + 1);
await client.query('INSERT INTO orders (order_number, branch, order_type, created_at) VALUES ($1, $2, $3, NOW())', [orderNumber, branch, orderType]);
await client.query('COMMIT');
return orderNumber;
} catch (error) {
await client.query('ROLLBACK');
throw error;
} finally {
client.release();
}
}
addOrder
для добавления новых заказов в базу данных. Уникальный номер заказа будет сгенерирован автоматически, и счетчик числового номера заказа будет сбрасываться каждый день.(async () => {
try {
const orderNumber = await addOrder('Y', 'A');
console.log('Уникальный номер заказа:', orderNumber);
} catch (error) {
console.error('Ошибка при добавлении заказа:', error);
}
})();
YA-50
, Счетчик числового номера заказа будет сбрасываться каждый день автоматически благодаря условию WHERE created_at >= CURRENT_DATE
в запросе к базе данных. async function elUp(selector) {
try {
var html = await (await fetch(location.href)).text();
var newdoc = new DOMParser().parseFromString(html, 'text/html');
var chat = document.querySelector(selector);
chat.outerHTML = newdoc.querySelector(selector).outerHTML;
chat = document.querySelector(selector);
chat.scrollTop = chat.scrollHeight;
return true;
} catch(err) {return false;}
}
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiogram.types import ParseMode
from aiogram.utils import executor
API_TOKEN = 'YOUR_BOT_TOKEN'
admin_id = 'YOUR_ADMIN_ID'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)
dp.middleware.setup(LoggingMiddleware())
support_enabled = True
@dp.message_handler(commands=['help'])
async def process_start_command(message: types.Message):
if message['from'].id == admin_id:
await message.answer(f"Hi, admin")
else:
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
cancel_button = types.KeyboardButton(text="Отмена")
keyboard.add(cancel_button)
await message.answer(f"Привет! Если у тебя есть предложение или идея - напиши мне!", reply_markup=keyboard)
@dp.message_handler(lambda message: message.text == 'Отмена')
async def process_cancel_support(message: types.Message):
global support_enabled
support_enabled = False
await message.answer("Техническая поддержка отменена.")
@dp.message_handler(content_types=['text'])
async def process_start_command(message: types.Message):
global support_enabled
if support_enabled:
if message.reply_to_message == None:
if '/start' not in message.text and message.text != 'Отмена':
await bot.forward_message(admin_id, message.from_user.id, message.message_id)
await message.answer('Спасибо за сообщение!!')
else:
if message['from'].id == admin_id:
if message.reply_to_message.forward_from.id:
await bot.send_message(message.reply_to_message.forward_from.id, message.text)
else:
await message.answer('На сообщения нельзя отвечать!')
else:
await message.answer('Техническая поддержка отключена.')
if __name__ == '__main__':
from aiogram import executor
executor.start_polling(dp, skip_updates=True)
void Update()
{
if (canExecute && (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space)) && !IsPointerOverUIObject() && !endGame)
{
canExecute = false;
cooldownTimer = cooldownDuration;
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
directionKnife = mousePosition;
mousePosition.z = 0f;
GameObject knife = Instantiate(knifePrefab, mousePosition, Quaternion.identity);
StartCoroutine(RotateKnife(knife));
}
}
bool IsPointerOverUIObject()
{
#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL
return EventSystem.current.IsPointerOverGameObject();
#elif UNITY_ANDROID || UNITY_IOS
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
PointerEventData eventData = new PointerEventData(EventSystem.current);
eventData.position = touch.position;
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventData, results);
return results.Count > 0;
}
return false;
#endif
}
void Update()
{
bool isOverUI = false;
if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
{
if (Input.touchCount > 0)
{
int pointerId = Input.touches[0].fingerId;
isOverUI = EventSystem.current.IsPointerOverGameObject(pointerId);
}
}
else
{
isOverUI = EventSystem.current.IsPointerOverGameObject();
}
if (canExecute && (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space)) && !isOverUI && !endGame)
{
canExecute = false;
cooldownTimer = cooldownDuration;
Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
directionKnife = mousePosition;
mousePosition.z = 0f;
GameObject knife = Instantiate(knifePrefab, mousePosition, Quaternion.identity);
StartCoroutine(RotateKnife(knife));
}
}
phone_code()
def family_buttons(message):
email(message)
def email(message):
markup = types.InlineKeyboardMarkup(row_width=1)
email = types.InlineKeyboardButton("Введите почту", callback_data="email")
markup.add(email)
bot.send_message(message.chat.id, "Время заполнения поля 30 секунд", reply_markup=markup)
def phone_code(message):
markup = types.InlineKeyboardMarkup(row_width=1)
phone_code = types.InlineKeyboardButton("Введите код телефона", callback_data="phone_code")
markup.add(phone_code)
bot.send_message(message.chat.id, "Нажмите для заполнения поля!", reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def callback(call):
if call.message:
if call.data == "email":
text_email = bot.send_message(chat_id=call.message.chat.id, text="Введите почту")
bot.register_next_step_handler(text_email, next)
elif call.data == "phone_code":
text_phone_code = bot.send_message(chat_id=call.message.chat.id, text="Введите код телефона")
bot.register_next_step_handler(text_phone_code, next)
def next(message):
if message.text:
# Здесь вы можете обработать введенный текст для первой кнопки
# Например, сохранить его в переменную или базу данных
# Затем вызовите функцию phone_code() для отображения второй кнопки
phone_code(message)
import sqlite3
connection = sqlite3.connect('my_database.db')
cursor = connection.cursor()
cursor.execute('SELECT nickname FROM users WHERE discord_id = ' + str(discord_id))
result = cursor.fetchone()
nickname = result[0]
connection.close()