$(function() {
loadItems();
});
function loadItems() {
$.getJSON('database/products.json', function(data) {
function loadCakes(num) {
let out = '';
for (let i = 0; i < (num || data.length); i++) {
out += '<a data-num="' + data[i].id + '" data-category="' + data[i]['category'] + '" class="products__card card">';
out += '<div class="card__image image">';
out += '<img src="' + data[i].image + '" alt="' + data[i]['image'] + '">';
out += '</div>';
out += '<h3 class="card__title title">' + data[i]['name'] + '</h3>';
out += '<p class="card__desc">' + data[i]['description'] + '</p>';
out += '<div class="card__bottom">';
out += '<p class="card__price">' + data[i].price + ' р.</p>';
out += '<button class="card__buy">';
out += '<img src="images/icons/shopping-cart-add.svg" alt="shopping-cart-add">';
out += '</button>';
out += '</div>';
out += '</a>';
}
return out;
}
$('#cakes-cards').html(loadCakes());
$('#index-cards').html(loadCakes(6));
})
}
import telebot
bot = telebot.TeleBot('your_token')
# Создание кнопки с ссылкой
button_url = telebot.types.InlineKeyboardButton(text='Написать нам', url='mailto:mail@mail.com')
# Создание клавиатуры и добавление кнопки
keyboard = telebot.types.InlineKeyboardMarkup()
keyboard.add(button_url)
# Отправка сообщения с клавиатурой
bot.send_message(chat_id='your_chat_id', text='Свяжитесь с нами:', reply_markup=keyboard)
import telebot
import requests
import json
bot = telebot.TeleBot('TOKEN') # Токен вашего бота
coinpayments_url = 'https://www.coinpayments.net/api.php'
merchant_id = 'YOUR_MERCHANT_ID' # Ваш merchant ID в CoinPayments
private_key = 'YOUR_PRIVATE_KEY' # Ваш private key в CoinPayments
@bot.message_handler(commands=['pay'])
def pay(message):
payload = {
'cmd': 'create_transaction',
'merchant_id': merchant_id,
'amount': '10',
'currency1': 'USD',
'currency2': 'BTC',
'item_name': 'Test Payment',
'ipn_url': 'https://yourserver.com/ipn',
'success_url': 'https://yourserver.com/success',
'cancel_url': 'https://yourserver.com/cancel',
}
r = requests.post(coinpayments_url, data=payload)
response = json.loads(r.text)
if response['error'] == 'ok':
address = response['result']['address']
amount = response['result']['amount']
qr_code = response['result']['qrcode_url']
bot.send_message(message.chat.id, f'Send {amount} BTC to {address}')
bot.send_photo(message.chat.id, photo=qr_code)
else:
bot.send_message(message.chat.id, 'Error creating payment')
if __name__ == '__main__':
bot.polling(none_stop=True)
import discord
import asyncio
# создаем клиента Discord
client = discord.Client()
# создаем вебхук
async def create_webhook():
channel = client.get_channel(1234567890) # замените на ID канала, в котором нужно создать вебхук
webhook = await channel.create_webhook(name='My Webhook') # создаем вебхук и сохраняем его в переменной webhook
print(f'Вебхук успешно создан! URL: {webhook.url}') # выводим URL созданного вебхука
# запускаем клиента Discord и создаем вебхук
@client.event
async def on_ready():
print('Бот запущен')
await create_webhook()
client.run('ваш токен')
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
from vk_api.keyboard import VkKeyboard, VkKeyboardColor
import random
# Токен вашего сообщества
TOKEN = "YOUR_TOKEN_HERE"
# Инициализация VK API
vk_session = vk_api.VkApi(token=TOKEN)
longpoll = VkLongPoll(vk_session)
# Создание клавиатуры
keyboard = VkKeyboard(one_time=True)
keyboard.add_button("Кнопка 1", color=VkKeyboardColor.PRIMARY)
keyboard.add_button("Кнопка 2", color=VkKeyboardColor.SECONDARY)
keyboard.add_button("Кнопка 3", color=VkKeyboardColor.NEGATIVE)
# Обработчик новых сообщений
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW and event.to_me:
# Отправляем уведомление о том, что мы начали набирать сообщение
vk_session.method("messages.setActivity", {"peer_id": event.peer_id, "type": "typing"})
# Отправляем сообщение с клавиатурой
vk_session.method("messages.send", {"peer_id": event.peer_id, "message": "Выберите действие:", "keyboard": keyboard.get_keyboard(), "random_id": random.randint(1, 1000)})
# Создаем состояние, в котором мы ожидаем нажатие на кнопку
class MyStates(StatesGroup):
waiting_for_button = State()
# Обработчик команды /start
@dp.message_handler(commands=["start"])
async def start(message: types.Message):
# Отправляем сообщение с кнопкой
keyboard = types.InlineKeyboardMarkup()
button = types.InlineKeyboardButton(text="Остановить", callback_data="stop")
keyboard.add(button)
await message.answer("Нажмите на кнопку, чтобы остановить цикл", reply_markup=keyboard)
# Устанавливаем состояние "waiting_for_button"
await MyStates.waiting_for_button.set()
# Обработчик нажатия на кнопку
@dp.callback_query_handler(Text(equals="stop"), state=MyStates.waiting_for_button)
async def stop_callback(query: CallbackQuery, state: FSMContext):
# Останавливаем цикл и удаляем состояние
await query.answer("Цикл остановлен")
await state.finish()
# Вызываем stop_propagation=True, чтобы предотвратить дальнейшую обработку событий
return await query.message.edit_text("Вы остановили цикл", reply_markup=None, disable_web_page_preview=True, stop_propagation=True)
# Запускаем бота
if __name__ == "__main__":
executor.start_polling(dp, skip_updates=True)
Регуляркой:
import re
mystr = " balabla\n zzz "
re.sub("^\s+|\n|\r|\s+$", '', mystr)