from discord.ext import commands
import sqlite3
class Sql_database:
def __init__(self) -> None:
self.conn = sqlite3.connect('eco.db')
self.sql = self.conn.cursor()
#self.sql.execute("CREATE TABLE userinfos (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, id_user TEXT NOT NULL, name TEXT NOT NULL, xp INTEGER DEFAULT (20),money REAL DEFAULT (1000))")
# метод добавления пользователя в блд
def add_user(self, id, name):
with self.conn as conn:
self.sql = conn.cursor()
self.sql.execute(f"INSERT INTO userinfos (id_user, name) VALUES (?, ?)", (id, name))
# метод поиска записи в бд по указанному id
def request_db(self, id):
with self.conn as conn:
self.sql = conn.cursor()
return self.sql.execute("SELECT * FROM userinfos WHERE id_user = ?", (id,)).fetchone()
TOKEN = ''
bot = commands.Bot(command_prefix=('!'))
bot.remove_command('help')
@bot.command()
async def hello(ctx): # Создаём функцию и передаём аргумент ctx.
author = ctx.message.author # Объявляем переменную author и записываем туда информацию об авторе.
# добавляем пользователя в бд
try:
Sql_database().add_user(author.id, author.mention)
except:
pass
# сохраняем данные в переменную (возвращает кортеж)
data = Sql_database().request_db(author.id)
await ctx.send(f'Привет!, твои статы:\nИмя: {author.mention}\nмонеты - {data[4]}\nопыт - {data[3]}xp')
bot.run(TOKEN)
from discord.ext import commands
import sqlite3
class Sql_database:
def __init__(self) -> None:
self.conn = sqlite3.connect('eco.db')
self.sql = self.conn.cursor()
#self.sql.execute("CREATE TABLE userinfos (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, id_user TEXT NOT NULL, name TEXT NOT NULL, xp INTEGER DEFAULT (20),money REAL DEFAULT (1000))")
# метод добавления пользователя в блд
def add_user(self, id, name):
with self.conn as conn:
self.sql = conn.cursor()
self.sql.execute(f"INSERT INTO userinfos (id_user, name) VALUES (?, ?)", (id, name))
TOKEN = ''
bot = commands.Bot(command_prefix=('!'))
bot.remove_command('help')
@bot.command()
async def hello(ctx): # Создаём функцию и передаём аргумент ctx.
author = ctx.message.author # Объявляем переменную author и записываем туда информацию об авторе.
# добавляем пользователя в бд
Sql_database().add_user(author.id, author.mention)
await ctx.send(f'Hello, {author.mention}!')
bot.run(TOKEN)
for item in result_list:
print(item['name'])
print(item['price'])
print(item['sale'])
print('-------------------')
from bs4 import BeautifulSoup
import requests
url = 'https://store.steampowered.com/specials/?l=russian#p=0&tab=TopSellers'
response = requests.get(url=url).text
#with open('index.html', 'w', encoding='utf-8') as file:
# file.write(response)
soup = BeautifulSoup(response, 'lxml')
all_games = soup.find_all('a', class_='tab_item')
result_list = []
for item in all_games:
name = item.find('div', class_='tab_item_name').text.strip()
price_final = item.find('div', class_='discount_final_price').text.strip()
try:
sale = item.find('div', class_='discount_pct').text.strip()
except:
sale = 'отсутствует'
result_list.append({
'name': name,
'price': price_final,
'sale': sale
})
import asyncio
async def auto_send_message():
while True:
# код для отправки сообщения #
# время, на которое надо засыпать (1 день)
await asyncio.sleep(86400)
if __name__ == "__main__":
# устанавливаем событие
loop = asyncio.get_event_loop()
# создаем таск с событием
loop.create_task(auto_send_message())