· 4 years ago · Aug 17, 2021, 02:38 PM
1import discord
2from discord.ext import commands
3
4import sqlite3
5from config import settings
6from Cybernator import Paginator as pag
7
8client = commands.Bot(command_prefix = settings['PREFIX'], intents=discord.Intents.all())
9client.remove_command('help')
10
11connection = sqlite3.connect('server.db')
12cursor = connection.cursor()
13
14
15@client.event
16async def on_ready():
17 cursor.execute("""CREATE TABLE IF NOT EXISTS users (
18 name TEXT,
19 id INT,
20 cash BIGINT,
21 rep INT,
22 lvl INT,
23 server_id INT
24 )""")
25
26 cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
27 role_id INT,
28 id INT,
29 cost BIGINT
30 )""")
31
32 for guild in client.guilds:
33 for member in guild.members:
34 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
35 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {guild.id})")
36 else:
37 pass
38
39 connection.commit()
40 print('client connected')
41
42
43@client.event
44async def on_member_join(member):
45 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
46 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {member.guild.id})")
47 connection.commit()
48 else:
49 pass
50
51
52@client.command(aliases = ['balance', 'cash'])
53async def __balance(ctx, member: discord.Member = None):
54 if member is None:
55 await ctx.send(embed = discord.Embed(
56 description = f"""Баланс пользователя **{ctx.author}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :leaves:**"""
57 ))
58
59 else:
60 await ctx.send(embed = discord.Embed(
61 description = f"""Баланс пользователя **{member}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(member.id)).fetchone()[0]} :leaves:**"""
62 ))
63
64
65@client.command(aliases = ['award'])
66async def __award(ctx, member: discord.Member = None, amount: int = None):
67 if member is None:
68 await ctx.send(f"**{ctx.author}**, укажите пользователя, которому желаете выдать определенную сумму")
69 else:
70 if amount is None:
71 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете начислить на счет пользователя")
72 elif amount < 1:
73 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
74 else:
75 cursor.execute("UPDATE users SET cash = cash + {} WHERE id = {}".format(amount, member.id))
76 connection.commit()
77
78 await ctx.message.add_reaction('✅')
79
80
81@client.command(aliases = ['take'])
82async def __take(ctx, member: discord.Member = None, amount = None):
83 if member is None:
84 await ctx.send(f"**{ctx.author}**, укажите пользователя, у которого желаете отнять сумму денег")
85 else:
86 if amount is None:
87 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете отнять у счета пользователя")
88 elif amount == 'all':
89 cursor.execute("UPDATE users SET cash = {} WHERE id = {}".format(0, member.id))
90 connection.commit()
91
92 await ctx.message.add_reaction('✅')
93 elif int(amount) < 1:
94 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
95 else:
96 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(int(amount), member.id))
97 connection.commit()
98
99 await ctx.message.add_reaction('✅')
100
101
102@client.command(aliases = ['add-shop'])
103async def __add_shop(ctx, role: discord.Role = None, cost: int = None):
104 if role is None:
105 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете внести в магазин")
106 else:
107 if cost is None:
108 await ctx.send(f"**{ctx.author}**, укажите стоимость для даннойй роли")
109 elif cost < 0:
110 await ctx.send(f"**{ctx.author}**, стоимость роли не может быть такой маленькой")
111 else:
112 cursor.execute("INSERT INTO shop VALUES ({}, {}, {})".format(role.id, ctx.guild.id, cost))
113 connection.commit()
114
115 await ctx.message.add_reaction('✅')
116
117
118@client.command(aliases = ['remove-shop'])
119async def __remove_shop(ctx, role: discord.Role = None):
120 if role is None:
121 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете удалить из магазина")
122 else:
123 cursor.execute("DELETE FROM shop WHERE role_id = {}".format(role.id))
124 connection.commit()
125
126 await ctx.message.add_reaction('✅')
127
128
129@client.command(aliases = ['shop'])
130async def __shop(ctx):
131 embed = discord.Embed(title = 'Магазин ролей')
132
133 for row in cursor.execute("SELECT role_id, cost FROM shop WHERE id = {}".format(ctx.guild.id)):
134 if ctx.guild.get_role(row[0]) != None:
135 embed.add_field(
136 name = f"Стоимость **{row[1]} :leaves:**",
137 value = f"Вы приобрете роль {ctx.guild.get_role(row[0]).mention}",
138 inline = False
139 )
140 else:
141 pass
142
143 await ctx.send(embed = embed)
144
145
146@client.command(aliases = ['buy', 'buy-role'])
147async def __buy(ctx, role: discord.Role = None):
148 if role is None:
149 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете приобрести")
150 else:
151 if role in ctx.author.roles:
152 await ctx.send(f"**{ctx.author}**, у вас уже имеется данная роль")
153 elif cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0] > cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]:
154 await ctx.send(f"**{ctx.author}**, у вас недостаточно средств для покупки данной роли")
155 else:
156 await ctx.author.add_roles(role)
157 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0], ctx.author.id))
158 connection.commit()
159
160 await ctx.message.add_reaction('✅')
161
162
163@client.command(aliases = ['rep', '+rep'])
164async def __rep(ctx, member: discord.Member = None):
165 if member is None:
166 await ctx.send(f"**{ctx.author}**, укажите участника сервера")
167 else:
168 if member.id == ctx.author.id:
169 await ctx.send(f"**{ctx.author}**, вы не можете указать смого себя")
170 else:
171 cursor.execute("UPDATE users SET rep = rep + {} WHERE id = {}".format(1, member.id))
172 connection.commit()
173
174 await ctx.message.add_reaction('✅')
175
176
177@client.command(aliases = ['leaderboard', 'lb'])
178async def __leaderboard(ctx):
179 embed = discord.Embed(title = 'Топ 10 сервера')
180 counter = 0
181
182 for row in cursor.execute("SELECT name, cash FROM users WHERE server_id = {} ORDER BY cash DESC LIMIT 10".format(ctx.guild.id)):
183 counter += 1
184 embed.add_field(
185 name = f'# {counter} | `{row[0]}`',
186 value = f'Баланс: {row[1]}',
187 inline = False
188 )
189
190 await ctx.send(embed = embed)
191
192
193client.run(settings['TOKEN'])
194
195RAW Paste Data
196import discord
197from discord.ext import commands
198
199import sqlite3
200from config import settings
201from Cybernator import Paginator as pag
202
203client = commands.Bot(command_prefix = settings['PREFIX'], intents=discord.Intents.all())
204client.remove_command('help')
205
206connection = sqlite3.connect('server.db')
207cursor = connection.cursor()
208
209
210@client.event
211async def on_ready():
212 cursor.execute("""CREATE TABLE IF NOT EXISTS users (
213 name TEXT,
214 id INT,
215 cash BIGINT,
216 rep INT,
217 lvl INT,
218 server_id INT
219 )""")
220
221 cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
222 role_id INT,
223 id INT,
224 cost BIGINT
225 )""")
226
227 for guild in client.guilds:
228 for member in guild.members:
229 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
230 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {guild.id})")
231 else:
232 pass
233
234 connection.commit()
235 print('client connected')
236
237
238@client.event
239async def on_member_join(member):
240 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
241 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {member.guild.id})")
242 connection.commit()
243 else:
244 pass
245
246
247@client.command(aliases = ['balance', 'cash'])
248async def __balance(ctx, member: discord.Member = None):
249 if member is None:
250 await ctx.send(embed = discord.Embed(
251 description = f"""Баланс пользователя **{ctx.author}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :leaves:**"""
252 ))
253
254 else:
255 await ctx.send(embed = discord.Embed(
256 description = f"""Баланс пользователя **{member}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(member.id)).fetchone()[0]} :leaves:**"""
257 ))
258
259
260@client.command(aliases = ['award'])
261async def __award(ctx, member: discord.Member = None, amount: int = None):
262 if member is None:
263 await ctx.send(f"**{ctx.author}**, укажите пользователя, которому желаете выдать определенную сумму")
264 else:
265 if amount is None:
266 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете начислить на счет пользователя")
267 elif amount < 1:
268 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
269 else:
270 cursor.execute("UPDATE users SET cash = cash + {} WHERE id = {}".format(amount, member.id))
271 connection.commit()
272
273 await ctx.message.add_reaction('✅')
274
275
276@client.command(aliases = ['take'])
277async def __take(ctx, member: discord.Member = None, amount = None):
278 if member is None:
279 await ctx.send(f"**{ctx.author}**, укажите пользователя, у которого желаете отнять сумму денег")
280 else:
281 if amount is None:
282 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете отнять у счета пользователя")
283 elif amount == 'all':
284 cursor.execute("UPDATE users SET cash = {} WHERE id = {}".format(0, member.id))
285 connection.commit()
286
287 await ctx.message.add_reaction('✅')
288 elif int(amount) < 1:
289 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
290 else:
291 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(int(amount), member.id))
292 connection.commit()
293
294 await ctx.message.add_reaction('✅')
295
296
297@client.command(aliases = ['add-shop'])
298async def __add_shop(ctx, role: discord.Role = None, cost: int = None):
299 if role is None:
300 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете внести в магазин")
301 else:
302 if cost is None:
303 await ctx.send(f"**{ctx.author}**, укажите стоимость для даннойй роли")
304 elif cost < 0:
305 await ctx.send(f"**{ctx.author}**, стоимость роли не может быть такой маленькой")
306 else:
307 cursor.execute("INSERT INTO shop VALUES ({}, {}, {})".format(role.id, ctx.guild.id, cost))
308 connection.commit()
309
310 await ctx.message.add_reaction('✅')
311
312
313@client.command(aliases = ['remove-shop'])
314async def __remove_shop(ctx, role: discord.Role = None):
315 if role is None:
316 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете удалить из магазина")
317 else:
318 cursor.execute("DELETE FROM shop WHERE role_id = {}".format(role.id))
319 connection.commit()
320
321 await ctx.message.add_reaction('✅')
322
323
324@client.command(aliases = ['shop'])
325async def __shop(ctx):
326 embed = discord.Embed(title = 'Магазин ролей')
327
328 for row in cursor.execute("SELECT role_id, cost FROM shop WHERE id = {}".format(ctx.guild.id)):
329 if ctx.guild.get_role(row[0]) != None:
330 embed.add_field(
331 name = f"Стоимость **{row[1]} :leaves:**",
332 value = f"Вы приобрете роль {ctx.guild.get_role(row[0]).mention}",
333 inline = False
334 )
335 else:
336 pass
337
338 await ctx.send(embed = embed)
339
340
341@client.command(aliases = ['buy', 'buy-role'])
342async def __buy(ctx, role: discord.Role = None):
343 if role is None:
344 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете приобрести")
345 else:
346 if role in ctx.author.roles:
347 await ctx.send(f"**{ctx.author}**, у вас уже имеется данная роль")
348 elif cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0] > cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]:
349 await ctx.send(f"**{ctx.author}**, у вас недостаточно средств для покупки данной роли")
350 else:
351 await ctx.author.add_roles(role)
352 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0], ctx.author.id))
353 connection.commit()
354
355 await ctx.message.add_reaction('✅')
356
357
358@client.command(aliases = ['rep', '+rep'])
359async def __rep(ctx, member: discord.Member = None):
360 if member is None:
361 await ctx.send(f"**{ctx.author}**, укажите участника сервера")
362 else:
363 if member.id == ctx.author.id:
364 await ctx.send(f"**{ctx.author}**, вы не можете указать смого себя")
365 else:
366 cursor.execute("UPDATE users SET rep = rep + {} WHERE id = {}".format(1, member.id))
367 connection.commit()
368
369 await ctx.message.add_reaction('✅')
370
371
372@client.command(aliases = ['leaderboard', 'lb'])
373async def __leaderboard(ctx):
374 embed = discord.Embed(title = 'Топ 10 сервера')
375 counter = 0
376
377 for row in cursor.execute("SELECT name, cash FROM users WHERE server_id = {} ORDER BY cash DESC LIMIT 10".format(ctx.guild.id)):
378 counter += 1
379 embed.add_field(
380 name = f'# {counter} | `{row[0]}`',
381 value = f'Баланс: {row[1]}',
382 inline = False
383 )
384
385 await ctx.send(embed = embed)
386
387
388client.run(settings['TOKEN'])
389create new paste / syntax languages / archive / faq / tools / night mode / api / scraping api / news / pro
390privacy statement / cookies policy / terms of serviceupdated / security disclosure / dmca / report abuse / contact
391
392PASTEBIN
393paste
394LOGIN SIGN UP
395
396Fsoky
397Python Economic BOT from Fsoky
398FSOKY
399JUL 12TH, 2020 (EDITED)
4002,473
401NEVER
402Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
4037.07 KB
404
405import discord
406from discord.ext import commands
407
408import sqlite3
409from config import settings
410from Cybernator import Paginator as pag
411
412client = commands.Bot(command_prefix = settings['PREFIX'], intents=discord.Intents.all())
413client.remove_command('help')
414
415connection = sqlite3.connect('server.db')
416cursor = connection.cursor()
417
418
419@client.event
420async def on_ready():
421 cursor.execute("""CREATE TABLE IF NOT EXISTS users (
422 name TEXT,
423 id INT,
424 cash BIGINT,
425 rep INT,
426 lvl INT,
427 server_id INT
428 )""")
429
430 cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
431 role_id INT,
432 id INT,
433 cost BIGINT
434 )""")
435
436 for guild in client.guilds:
437 for member in guild.members:
438 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
439 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {guild.id})")
440 else:
441 pass
442
443 connection.commit()
444 print('client connected')
445
446
447@client.event
448async def on_member_join(member):
449 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
450 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {member.guild.id})")
451 connection.commit()
452 else:
453 pass
454
455
456@client.command(aliases = ['balance', 'cash'])
457async def __balance(ctx, member: discord.Member = None):
458 if member is None:
459 await ctx.send(embed = discord.Embed(
460 description = f"""Баланс пользователя **{ctx.author}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :leaves:**"""
461 ))
462
463 else:
464 await ctx.send(embed = discord.Embed(
465 description = f"""Баланс пользователя **{member}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(member.id)).fetchone()[0]} :leaves:**"""
466 ))
467
468
469@client.command(aliases = ['award'])
470async def __award(ctx, member: discord.Member = None, amount: int = None):
471 if member is None:
472 await ctx.send(f"**{ctx.author}**, укажите пользователя, которому желаете выдать определенную сумму")
473 else:
474 if amount is None:
475 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете начислить на счет пользователя")
476 elif amount < 1:
477 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
478 else:
479 cursor.execute("UPDATE users SET cash = cash + {} WHERE id = {}".format(amount, member.id))
480 connection.commit()
481
482 await ctx.message.add_reaction('✅')
483
484
485@client.command(aliases = ['take'])
486async def __take(ctx, member: discord.Member = None, amount = None):
487 if member is None:
488 await ctx.send(f"**{ctx.author}**, укажите пользователя, у которого желаете отнять сумму денег")
489 else:
490 if amount is None:
491 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете отнять у счета пользователя")
492 elif amount == 'all':
493 cursor.execute("UPDATE users SET cash = {} WHERE id = {}".format(0, member.id))
494 connection.commit()
495
496 await ctx.message.add_reaction('✅')
497 elif int(amount) < 1:
498 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
499 else:
500 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(int(amount), member.id))
501 connection.commit()
502
503 await ctx.message.add_reaction('✅')
504
505
506@client.command(aliases = ['add-shop'])
507async def __add_shop(ctx, role: discord.Role = None, cost: int = None):
508 if role is None:
509 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете внести в магазин")
510 else:
511 if cost is None:
512 await ctx.send(f"**{ctx.author}**, укажите стоимость для даннойй роли")
513 elif cost < 0:
514 await ctx.send(f"**{ctx.author}**, стоимость роли не может быть такой маленькой")
515 else:
516 cursor.execute("INSERT INTO shop VALUES ({}, {}, {})".format(role.id, ctx.guild.id, cost))
517 connection.commit()
518
519 await ctx.message.add_reaction('✅')
520
521
522@client.command(aliases = ['remove-shop'])
523async def __remove_shop(ctx, role: discord.Role = None):
524 if role is None:
525 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете удалить из магазина")
526 else:
527 cursor.execute("DELETE FROM shop WHERE role_id = {}".format(role.id))
528 connection.commit()
529
530 await ctx.message.add_reaction('✅')
531
532
533@client.command(aliases = ['shop'])
534async def __shop(ctx):
535 embed = discord.Embed(title = 'Магазин ролей')
536
537 for row in cursor.execute("SELECT role_id, cost FROM shop WHERE id = {}".format(ctx.guild.id)):
538 if ctx.guild.get_role(row[0]) != None:
539 embed.add_field(
540 name = f"Стоимость **{row[1]} :leaves:**",
541 value = f"Вы приобрете роль {ctx.guild.get_role(row[0]).mention}",
542 inline = False
543 )
544 else:
545 pass
546
547 await ctx.send(embed = embed)
548
549
550@client.command(aliases = ['buy', 'buy-role'])
551async def __buy(ctx, role: discord.Role = None):
552 if role is None:
553 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете приобрести")
554 else:
555 if role in ctx.author.roles:
556 await ctx.send(f"**{ctx.author}**, у вас уже имеется данная роль")
557 elif cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0] > cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]:
558 await ctx.send(f"**{ctx.author}**, у вас недостаточно средств для покупки данной роли")
559 else:
560 await ctx.author.add_roles(role)
561 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0], ctx.author.id))
562 connection.commit()
563
564 await ctx.message.add_reaction('✅')
565
566
567@client.command(aliases = ['rep', '+rep'])
568async def __rep(ctx, member: discord.Member = None):
569 if member is None:
570 await ctx.send(f"**{ctx.author}**, укажите участника сервера")
571 else:
572 if member.id == ctx.author.id:
573 await ctx.send(f"**{ctx.author}**, вы не можете указать смого себя")
574 else:
575 cursor.execute("UPDATE users SET rep = rep + {} WHERE id = {}".format(1, member.id))
576 connection.commit()
577
578 await ctx.message.add_reaction('✅')
579
580
581@client.command(aliases = ['leaderboard', 'lb'])
582async def __leaderboard(ctx):
583 embed = discord.Embed(title = 'Топ 10 сервера')
584 counter = 0
585
586 for row in cursor.execute("SELECT name, cash FROM users WHERE server_id = {} ORDER BY cash DESC LIMIT 10".format(ctx.guild.id)):
587 counter += 1
588 embed.add_field(
589 name = f'# {counter} | `{row[0]}`',
590 value = f'Баланс: {row[1]}',
591 inline = False
592 )
593
594 await ctx.send(embed = embed)
595
596
597client.run(settings['TOKEN'])
598
599RAW Paste Data
600import discord
601from discord.ext import commands
602
603import sqlite3
604from config import settings
605from Cybernator import Paginator as pag
606
607client = commands.Bot(command_prefix = settings['PREFIX'], intents=discord.Intents.all())
608client.remove_command('help')
609
610connection = sqlite3.connect('server.db')
611cursor = connection.cursor()
612
613
614@client.event
615async def on_ready():
616 cursor.execute("""CREATE TABLE IF NOT EXISTS users (
617 name TEXT,
618 id INT,
619 cash BIGINT,
620 rep INT,
621 lvl INT,
622 server_id INT
623 )""")
624
625 cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
626 role_id INT,
627 id INT,
628 cost BIGINT
629 )""")
630
631 for guild in client.guilds:
632 for member in guild.members:
633 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
634 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {guild.id})")
635 else:
636 pass
637
638 connection.commit()
639 print('client connected')
640
641
642@client.event
643async def on_member_join(member):
644 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
645 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {member.guild.id})")
646 connection.commit()
647 else:
648 pass
649
650
651@client.command(aliases = ['balance', 'cash'])
652async def __balance(ctx, member: discord.Member = None):
653 if member is None:
654 await ctx.send(embed = discord.Embed(
655 description = f"""Баланс пользователя **{ctx.author}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :leaves:**"""
656 ))
657
658 else:
659 await ctx.send(embed = discord.Embed(
660 description = f"""Баланс пользователя **{member}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(member.id)).fetchone()[0]} :leaves:**"""
661 ))
662
663
664@client.command(aliases = ['award'])
665async def __award(ctx, member: discord.Member = None, amount: int = None):
666 if member is None:
667 await ctx.send(f"**{ctx.author}**, укажите пользователя, которому желаете выдать определенную сумму")
668 else:
669 if amount is None:
670 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете начислить на счет пользователя")
671 elif amount < 1:
672 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
673 else:
674 cursor.execute("UPDATE users SET cash = cash + {} WHERE id = {}".format(amount, member.id))
675 connection.commit()
676
677 await ctx.message.add_reaction('✅')
678
679
680@client.command(aliases = ['take'])
681async def __take(ctx, member: discord.Member = None, amount = None):
682 if member is None:
683 await ctx.send(f"**{ctx.author}**, укажите пользователя, у которого желаете отнять сумму денег")
684 else:
685 if amount is None:
686 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете отнять у счета пользователя")
687 elif amount == 'all':
688 cursor.execute("UPDATE users SET cash = {} WHERE id = {}".format(0, member.id))
689 connection.commit()
690
691 await ctx.message.add_reaction('✅')
692 elif int(amount) < 1:
693 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
694 else:
695 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(int(amount), member.id))
696 connection.commit()
697
698 await ctx.message.add_reaction('✅')
699
700
701@client.command(aliases = ['add-shop'])
702async def __add_shop(ctx, role: discord.Role = None, cost: int = None):
703 if role is None:
704 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете внести в магазин")
705 else:
706 if cost is None:
707 await ctx.send(f"**{ctx.author}**, укажите стоимость для даннойй роли")
708 elif cost < 0:
709 await ctx.send(f"**{ctx.author}**, стоимость роли не может быть такой маленькой")
710 else:
711 cursor.execute("INSERT INTO shop VALUES ({}, {}, {})".format(role.id, ctx.guild.id, cost))
712 connection.commit()
713
714 await ctx.message.add_reaction('✅')
715
716
717@client.command(aliases = ['remove-shop'])
718async def __remove_shop(ctx, role: discord.Role = None):
719 if role is None:
720 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете удалить из магазина")
721 else:
722 cursor.execute("DELETE FROM shop WHERE role_id = {}".format(role.id))
723 connection.commit()
724
725 await ctx.message.add_reaction('✅')
726
727
728@client.command(aliases = ['shop'])
729async def __shop(ctx):
730 embed = discord.Embed(title = 'Магазин ролей')
731
732 for row in cursor.execute("SELECT role_id, cost FROM shop WHERE id = {}".format(ctx.guild.id)):
733 if ctx.guild.get_role(row[0]) != None:
734 embed.add_field(
735 name = f"Стоимость **{row[1]} :leaves:**",
736 value = f"Вы приобрете роль {ctx.guild.get_role(row[0]).mention}",
737 inline = False
738 )
739 else:
740 pass
741
742 await ctx.send(embed = embed)
743
744
745@client.command(aliases = ['buy', 'buy-role'])
746async def __buy(ctx, role: discord.Role = None):
747 if role is None:
748 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете приобрести")
749 else:
750 if role in ctx.author.roles:
751 await ctx.send(f"**{ctx.author}**, у вас уже имеется данная роль")
752 elif cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0] > cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]:
753 await ctx.send(f"**{ctx.author}**, у вас недостаточно средств для покупки данной роли")
754 else:
755 await ctx.author.add_roles(role)
756 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0], ctx.author.id))
757 connection.commit()
758
759 await ctx.message.add_reaction('✅')
760
761
762@client.command(aliases = ['rep', '+rep'])
763async def __rep(ctx, member: discord.Member = None):
764 if member is None:
765 await ctx.send(f"**{ctx.author}**, укажите участника сервера")
766 else:
767 if member.id == ctx.author.id:
768 await ctx.send(f"**{ctx.author}**, вы не можете указать смого себя")
769 else:
770 cursor.execute("UPDATE users SET rep = rep + {} WHERE id = {}".format(1, member.id))
771 connection.commit()
772
773 await ctx.message.add_reaction('✅')
774
775
776@client.command(aliases = ['leaderboard', 'lb'])
777async def __leaderboard(ctx):
778 embed = discord.Embed(title = 'Топ 10 сервера')
779 counter = 0
780
781 for row in cursor.execute("SELECT name, cash FROM users WHERE server_id = {} ORDER BY cash DESC LIMIT 10".format(ctx.guild.id)):
782 counter += 1
783 embed.add_field(
784 name = f'# {counter} | `{row[0]}`',
785 value = f'Баланс: {row[1]}',
786 inline = False
787 )
788
789 await ctx.send(embed = embed)
790
791
792client.run(settings['TOKEN'])
793create new paste / syntax languages / archive / faq / tools / night mode / api / scraping api / news / pro
794privacy statement / cookies policy / terms of serviceupdated / security disclosure / dmca / report abuse / contact
795
796PASTEBIN
797paste
798LOGIN SIGN UP
799
800Fsoky
801Python Economic BOT from Fsoky
802FSOKY
803JUL 12TH, 2020 (EDITED)
8042,473
805NEVER
806Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
8077.07 KB
808
809import discord
810from discord.ext import commands
811
812import sqlite3
813from config import settings
814from Cybernator import Paginator as pag
815
816client = commands.Bot(command_prefix = settings['PREFIX'], intents=discord.Intents.all())
817client.remove_command('help')
818
819connection = sqlite3.connect('server.db')
820cursor = connection.cursor()
821
822
823@client.event
824async def on_ready():
825 cursor.execute("""CREATE TABLE IF NOT EXISTS users (
826 name TEXT,
827 id INT,
828 cash BIGINT,
829 rep INT,
830 lvl INT,
831 server_id INT
832 )""")
833
834 cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
835 role_id INT,
836 id INT,
837 cost BIGINT
838 )""")
839
840 for guild in client.guilds:
841 for member in guild.members:
842 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
843 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {guild.id})")
844 else:
845 pass
846
847 connection.commit()
848 print('client connected')
849
850
851@client.event
852async def on_member_join(member):
853 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
854 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {member.guild.id})")
855 connection.commit()
856 else:
857 pass
858
859
860@client.command(aliases = ['balance', 'cash'])
861async def __balance(ctx, member: discord.Member = None):
862 if member is None:
863 await ctx.send(embed = discord.Embed(
864 description = f"""Баланс пользователя **{ctx.author}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :leaves:**"""
865 ))
866
867 else:
868 await ctx.send(embed = discord.Embed(
869 description = f"""Баланс пользователя **{member}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(member.id)).fetchone()[0]} :leaves:**"""
870 ))
871
872
873@client.command(aliases = ['award'])
874async def __award(ctx, member: discord.Member = None, amount: int = None):
875 if member is None:
876 await ctx.send(f"**{ctx.author}**, укажите пользователя, которому желаете выдать определенную сумму")
877 else:
878 if amount is None:
879 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете начислить на счет пользователя")
880 elif amount < 1:
881 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
882 else:
883 cursor.execute("UPDATE users SET cash = cash + {} WHERE id = {}".format(amount, member.id))
884 connection.commit()
885
886 await ctx.message.add_reaction('✅')
887
888
889@client.command(aliases = ['take'])
890async def __take(ctx, member: discord.Member = None, amount = None):
891 if member is None:
892 await ctx.send(f"**{ctx.author}**, укажите пользователя, у которого желаете отнять сумму денег")
893 else:
894 if amount is None:
895 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете отнять у счета пользователя")
896 elif amount == 'all':
897 cursor.execute("UPDATE users SET cash = {} WHERE id = {}".format(0, member.id))
898 connection.commit()
899
900 await ctx.message.add_reaction('✅')
901 elif int(amount) < 1:
902 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
903 else:
904 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(int(amount), member.id))
905 connection.commit()
906
907 await ctx.message.add_reaction('✅')
908
909
910@client.command(aliases = ['add-shop'])
911async def __add_shop(ctx, role: discord.Role = None, cost: int = None):
912 if role is None:
913 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете внести в магазин")
914 else:
915 if cost is None:
916 await ctx.send(f"**{ctx.author}**, укажите стоимость для даннойй роли")
917 elif cost < 0:
918 await ctx.send(f"**{ctx.author}**, стоимость роли не может быть такой маленькой")
919 else:
920 cursor.execute("INSERT INTO shop VALUES ({}, {}, {})".format(role.id, ctx.guild.id, cost))
921 connection.commit()
922
923 await ctx.message.add_reaction('✅')
924
925
926@client.command(aliases = ['remove-shop'])
927async def __remove_shop(ctx, role: discord.Role = None):
928 if role is None:
929 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете удалить из магазина")
930 else:
931 cursor.execute("DELETE FROM shop WHERE role_id = {}".format(role.id))
932 connection.commit()
933
934 await ctx.message.add_reaction('✅')
935
936
937@client.command(aliases = ['shop'])
938async def __shop(ctx):
939 embed = discord.Embed(title = 'Магазин ролей')
940
941 for row in cursor.execute("SELECT role_id, cost FROM shop WHERE id = {}".format(ctx.guild.id)):
942 if ctx.guild.get_role(row[0]) != None:
943 embed.add_field(
944 name = f"Стоимость **{row[1]} :leaves:**",
945 value = f"Вы приобрете роль {ctx.guild.get_role(row[0]).mention}",
946 inline = False
947 )
948 else:
949 pass
950
951 await ctx.send(embed = embed)
952
953
954@client.command(aliases = ['buy', 'buy-role'])
955async def __buy(ctx, role: discord.Role = None):
956 if role is None:
957 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете приобрести")
958 else:
959 if role in ctx.author.roles:
960 await ctx.send(f"**{ctx.author}**, у вас уже имеется данная роль")
961 elif cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0] > cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]:
962 await ctx.send(f"**{ctx.author}**, у вас недостаточно средств для покупки данной роли")
963 else:
964 await ctx.author.add_roles(role)
965 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0], ctx.author.id))
966 connection.commit()
967
968 await ctx.message.add_reaction('✅')
969
970
971@client.command(aliases = ['rep', '+rep'])
972async def __rep(ctx, member: discord.Member = None):
973 if member is None:
974 await ctx.send(f"**{ctx.author}**, укажите участника сервера")
975 else:
976 if member.id == ctx.author.id:
977 await ctx.send(f"**{ctx.author}**, вы не можете указать смого себя")
978 else:
979 cursor.execute("UPDATE users SET rep = rep + {} WHERE id = {}".format(1, member.id))
980 connection.commit()
981
982 await ctx.message.add_reaction('✅')
983
984
985@client.command(aliases = ['leaderboard', 'lb'])
986async def __leaderboard(ctx):
987 embed = discord.Embed(title = 'Топ 10 сервера')
988 counter = 0
989
990 for row in cursor.execute("SELECT name, cash FROM users WHERE server_id = {} ORDER BY cash DESC LIMIT 10".format(ctx.guild.id)):
991 counter += 1
992 embed.add_field(
993 name = f'# {counter} | `{row[0]}`',
994 value = f'Баланс: {row[1]}',
995 inline = False
996 )
997
998 await ctx.send(embed = embed)
999
1000
1001client.run(settings['TOKEN'])
1002
1003RAW Paste Data
1004import discord
1005from discord.ext import commands
1006
1007import sqlite3
1008from config import settings
1009from Cybernator import Paginator as pag
1010
1011client = commands.Bot(command_prefix = settings['PREFIX'], intents=discord.Intents.all())
1012client.remove_command('help')
1013
1014connection = sqlite3.connect('server.db')
1015cursor = connection.cursor()
1016
1017
1018@client.event
1019async def on_ready():
1020 cursor.execute("""CREATE TABLE IF NOT EXISTS users (
1021 name TEXT,
1022 id INT,
1023 cash BIGINT,
1024 rep INT,
1025 lvl INT,
1026 server_id INT
1027 )""")
1028
1029 cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
1030 role_id INT,
1031 id INT,
1032 cost BIGINT
1033 )""")
1034
1035 for guild in client.guilds:
1036 for member in guild.members:
1037 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
1038 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {guild.id})")
1039 else:
1040 pass
1041
1042 connection.commit()
1043 print('client connected')
1044
1045
1046@client.event
1047async def on_member_join(member):
1048 if cursor.execute(f"SELECT id FROM users WHERE id = {member.id}").fetchone() is None:
1049 cursor.execute(f"INSERT INTO users VALUES ('{member}', {member.id}, 0, 0, 1, {member.guild.id})")
1050 connection.commit()
1051 else:
1052 pass
1053
1054
1055@client.command(aliases = ['balance', 'cash'])
1056async def __balance(ctx, member: discord.Member = None):
1057 if member is None:
1058 await ctx.send(embed = discord.Embed(
1059 description = f"""Баланс пользователя **{ctx.author}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]} :leaves:**"""
1060 ))
1061
1062 else:
1063 await ctx.send(embed = discord.Embed(
1064 description = f"""Баланс пользователя **{member}** составляет **{cursor.execute("SELECT cash FROM users WHERE id = {}".format(member.id)).fetchone()[0]} :leaves:**"""
1065 ))
1066
1067
1068@client.command(aliases = ['award'])
1069async def __award(ctx, member: discord.Member = None, amount: int = None):
1070 if member is None:
1071 await ctx.send(f"**{ctx.author}**, укажите пользователя, которому желаете выдать определенную сумму")
1072 else:
1073 if amount is None:
1074 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете начислить на счет пользователя")
1075 elif amount < 1:
1076 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
1077 else:
1078 cursor.execute("UPDATE users SET cash = cash + {} WHERE id = {}".format(amount, member.id))
1079 connection.commit()
1080
1081 await ctx.message.add_reaction('✅')
1082
1083
1084@client.command(aliases = ['take'])
1085async def __take(ctx, member: discord.Member = None, amount = None):
1086 if member is None:
1087 await ctx.send(f"**{ctx.author}**, укажите пользователя, у которого желаете отнять сумму денег")
1088 else:
1089 if amount is None:
1090 await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете отнять у счета пользователя")
1091 elif amount == 'all':
1092 cursor.execute("UPDATE users SET cash = {} WHERE id = {}".format(0, member.id))
1093 connection.commit()
1094
1095 await ctx.message.add_reaction('✅')
1096 elif int(amount) < 1:
1097 await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 :leaves:")
1098 else:
1099 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(int(amount), member.id))
1100 connection.commit()
1101
1102 await ctx.message.add_reaction('✅')
1103
1104
1105@client.command(aliases = ['add-shop'])
1106async def __add_shop(ctx, role: discord.Role = None, cost: int = None):
1107 if role is None:
1108 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете внести в магазин")
1109 else:
1110 if cost is None:
1111 await ctx.send(f"**{ctx.author}**, укажите стоимость для даннойй роли")
1112 elif cost < 0:
1113 await ctx.send(f"**{ctx.author}**, стоимость роли не может быть такой маленькой")
1114 else:
1115 cursor.execute("INSERT INTO shop VALUES ({}, {}, {})".format(role.id, ctx.guild.id, cost))
1116 connection.commit()
1117
1118 await ctx.message.add_reaction('✅')
1119
1120
1121@client.command(aliases = ['remove-shop'])
1122async def __remove_shop(ctx, role: discord.Role = None):
1123 if role is None:
1124 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете удалить из магазина")
1125 else:
1126 cursor.execute("DELETE FROM shop WHERE role_id = {}".format(role.id))
1127 connection.commit()
1128
1129 await ctx.message.add_reaction('✅')
1130
1131
1132@client.command(aliases = ['shop'])
1133async def __shop(ctx):
1134 embed = discord.Embed(title = 'Магазин ролей')
1135
1136 for row in cursor.execute("SELECT role_id, cost FROM shop WHERE id = {}".format(ctx.guild.id)):
1137 if ctx.guild.get_role(row[0]) != None:
1138 embed.add_field(
1139 name = f"Стоимость **{row[1]} :leaves:**",
1140 value = f"Вы приобрете роль {ctx.guild.get_role(row[0]).mention}",
1141 inline = False
1142 )
1143 else:
1144 pass
1145
1146 await ctx.send(embed = embed)
1147
1148
1149@client.command(aliases = ['buy', 'buy-role'])
1150async def __buy(ctx, role: discord.Role = None):
1151 if role is None:
1152 await ctx.send(f"**{ctx.author}**, укажите роль, которую вы желаете приобрести")
1153 else:
1154 if role in ctx.author.roles:
1155 await ctx.send(f"**{ctx.author}**, у вас уже имеется данная роль")
1156 elif cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0] > cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]:
1157 await ctx.send(f"**{ctx.author}**, у вас недостаточно средств для покупки данной роли")
1158 else:
1159 await ctx.author.add_roles(role)
1160 cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(cursor.execute("SELECT cost FROM shop WHERE role_id = {}".format(role.id)).fetchone()[0], ctx.author.id))
1161 connection.commit()
1162
1163 await ctx.message.add_reaction('✅')
1164
1165
1166@client.command(aliases = ['rep', '+rep'])
1167async def __rep(ctx, member: discord.Member = None):
1168 if member is None:
1169 await ctx.send(f"**{ctx.author}**, укажите участника сервера")
1170 else:
1171 if member.id == ctx.author.id:
1172 await ctx.send(f"**{ctx.author}**, вы не можете указать смого себя")
1173 else:
1174 cursor.execute("UPDATE users SET rep = rep + {} WHERE id = {}".format(1, member.id))
1175 connection.commit()
1176
1177 await ctx.message.add_reaction('✅')
1178
1179
1180@client.command(aliases = ['leaderboard', 'lb'])
1181async def __leaderboard(ctx):
1182 embed = discord.Embed(title = 'Топ 10 сервера')
1183 counter = 0
1184
1185 for row in cursor.execute("SELECT name, cash FROM users WHERE server_id = {} ORDER BY cash DESC LIMIT 10".format(ctx.guild.id)):
1186 counter += 1
1187 embed.add_field(
1188 name = f'# {counter} | `{row[0]}`',
1189 value = f'Баланс: {row[1]}',
1190 inline = False
1191 )
1192
1193 await ctx.send(embed = embed)
1194
1195
1196client.run(settings['TOKEN'])
1197