Forwarded from Python3
پارت ۳: استفاده از پایگاه داده
✨ ۱. نصب و راهاندازی SQLite
برای ذخیره اطلاعات کاربران و دادههای ربات، میتوان از پایگاه داده SQLite استفاده کرد. ابتدا کتابخانه
✨ ۲. اتصال ربات به پایگاه داده
ابتدا باید یک پایگاه داده ایجاد کنیم و سپس به آن متصل شویم. برای این کار، یک فایل پایگاه داده به نام
✨ ۳. ایجاد جداول مورد نیاز
جدولهایی که نیاز داریم را ایجاد میکنیم. برای مثال، جدولی برای ذخیره اطلاعات کاربران:
✨ ۴. ذخیره اطلاعات کاربران
هنگامی که یک کاربر جدید با ربات تعامل میکند، اطلاعات او را در پایگاه داده ذخیره میکنیم. این کار را میتوانیم در هندلر دستور
✨ ۵. بازیابی اطلاعات از پایگاه داده
برای بازیابی اطلاعات کاربران از پایگاه داده، میتوانیم یک تابع تعریف کنیم. برای مثال، تابعی که لیست کاربران را برمیگرداند:
✨ ۶. بهروزرسانی و حذف اطلاعات
برای بهروزرسانی و حذف اطلاعات نیز میتوانیم توابع مشابهی تعریف کنیم. برای مثال، بهروزرسانی نام کاربری یک کاربر:
✨ راهاندازی و اجرای ربات
در نهایت، کد کامل ربات با اتصال به پایگاه داده به شکل زیر خواهد بود:
این کد رباتی ایجاد میکند که به دستورات
امیدوارم از این آموزش لذت برده باشید! برای دیدن آموزشهای بیشتر، کانال ما را دنبال کنید.
[کانال تلگرام]
#پایتون #آموزش_پایتون #ربات_تلگرام #برنامه_نویسی #python #telegram_bot
✨ ۱. نصب و راهاندازی SQLite
برای ذخیره اطلاعات کاربران و دادههای ربات، میتوان از پایگاه داده SQLite استفاده کرد. ابتدا کتابخانه
sqlite3
را که به صورت پیشفرض در پایتون موجود است، وارد میکنیم:import sqlite3
✨ ۲. اتصال ربات به پایگاه داده
ابتدا باید یک پایگاه داده ایجاد کنیم و سپس به آن متصل شویم. برای این کار، یک فایل پایگاه داده به نام
bot_database.db
ایجاد میکنیم:conn = sqlite3.connect('bot_database.db')
cursor = conn.cursor()
✨ ۳. ایجاد جداول مورد نیاز
جدولهایی که نیاز داریم را ایجاد میکنیم. برای مثال، جدولی برای ذخیره اطلاعات کاربران:
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
username TEXT,
first_name TEXT,
last_name TEXT
)
''')
conn.commit()
✨ ۴. ذخیره اطلاعات کاربران
هنگامی که یک کاربر جدید با ربات تعامل میکند، اطلاعات او را در پایگاه داده ذخیره میکنیم. این کار را میتوانیم در هندلر دستور
/start
انجام دهیم:def start(update: Update, context: CallbackContext) -> None:
user = update.message.from_user
cursor.execute('''
INSERT OR IGNORE INTO users (user_id, username, first_name, last_name)
VALUES (?, ?, ?, ?)
''', (user.id, user.username, user.first_name, user.last_name))
conn.commit()
update.message.reply_text('سلام! به ربات من خوش آمدید.')
✨ ۵. بازیابی اطلاعات از پایگاه داده
برای بازیابی اطلاعات کاربران از پایگاه داده، میتوانیم یک تابع تعریف کنیم. برای مثال، تابعی که لیست کاربران را برمیگرداند:
def get_users():
cursor.execute('SELECT * FROM users')
return cursor.fetchall()
✨ ۶. بهروزرسانی و حذف اطلاعات
برای بهروزرسانی و حذف اطلاعات نیز میتوانیم توابع مشابهی تعریف کنیم. برای مثال، بهروزرسانی نام کاربری یک کاربر:
def update_username(user_id, new_username):
cursor.execute('''
UPDATE users
SET username = ?
WHERE user_id = ?
''', (new_username, user_id))
conn.commit()
✨ راهاندازی و اجرای ربات
در نهایت، کد کامل ربات با اتصال به پایگاه داده به شکل زیر خواهد بود:
import sqlite3
from telegram import Update
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
TOKEN = 'YOUR_BOT_TOKEN'
conn = sqlite3.connect('bot_database.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY,
username TEXT,
first_name TEXT,
last_name TEXT
)
''')
conn.commit()
def start(update: Update, context: CallbackContext) -> None:
user = update.message.from_user
cursor.execute('''
INSERT OR IGNORE INTO users (user_id, username, first_name, last_name)
VALUES (?, ?, ?, ?)
''', (user.id, user.username, user.first_name, user.last_name))
conn.commit()
update.message.reply_text('سلام! به ربات من خوش آمدید.')
def help_command(update: Update, context: CallbackContext) -> None:
update.message.reply_text('چطور میتوانم به شما کمک کنم؟')
def echo(update: Update, context: CallbackContext) -> None:
update.message.reply_text(update.message.text)
def main():
updater = Updater(TOKEN)
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("help", help_command))
dispatcher.add_handler(MessageHandler(Filters.text & ~Filters.command, echo))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
این کد رباتی ایجاد میکند که به دستورات
/start
و /help
پاسخ میدهد و اطلاعات کاربران را در یک پایگاه داده SQLite ذخیره میکند. 🎉امیدوارم از این آموزش لذت برده باشید! برای دیدن آموزشهای بیشتر، کانال ما را دنبال کنید.
[کانال تلگرام]
#پایتون #آموزش_پایتون #ربات_تلگرام #برنامه_نویسی #python #telegram_bot
Telegram
Python3
🎓 آموزش و پروژههای Python
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
آموزشهای کاربردی و پروژههای عملی Python برای همه سطوح. 🚀
Forwarded from Python3
ارسال پارامترهای یک کلاس به کلاس دیگر در پایتون 🐍
در پایتون، وقتی میخواهید از پارامترهای یک کلاس در کلاس دیگری استفاده کنید، میتوانید این کار را با استفاده از متدها و سازندهها (Constructors) انجام دهید. در اینجا یک مثال ساده آورده شده است.
مثال: ارسال پارامترهای یک کلاس به کلاس دیگر
توضیحات:
1. ClassA:
- این کلاس دو پارامتر
2. ClassB:
- این کلاس به عنوان ورودی یک شیء از نوع
- متد
3. نحوه استفاده:
- ابتدا یک شیء از کلاس A با مقادیر خاصی ایجاد میشود.
- سپس این شیء به کلاس B ارسال شده و مقادیر آن استخراج و در کلاس B مورد استفاده قرار میگیرد.
خروجی:
به همین سادگی میتوانید پارامترهای یک کلاس را به کلاس دیگری ارسال کرده و از آنها استفاده کنید! 😎
⚠️کلیک کن تا بیشتر یاد بگیری⚠️
#Python #برنامهنویسی #آموزش_پایتون #کلاس_ها #OOP
در پایتون، وقتی میخواهید از پارامترهای یک کلاس در کلاس دیگری استفاده کنید، میتوانید این کار را با استفاده از متدها و سازندهها (Constructors) انجام دهید. در اینجا یک مثال ساده آورده شده است.
مثال: ارسال پارامترهای یک کلاس به کلاس دیگر
class ClassA:
def __init__(self, param1, param2):
self.param1 = param1
self.param2 = param2
class ClassB:
def __init__(self, class_a_instance):
self.param1 = class_a_instance.param1
self.param2 = class_a_instance.param2
def display_params(self):
print(f"Param1: {self.param1}, Param2: {self.param2}")
# ایجاد یک شیء از کلاس A
a = ClassA(10, 20)
# ارسال شیء کلاس A به کلاس B
b = ClassB(a)
# نمایش مقادیر پارامترها در کلاس B
b.display_params()
توضیحات:
1. ClassA:
- این کلاس دو پارامتر
param1
و param2
را دریافت کرده و آنها را به عنوان ویژگیهای (Attributes) شیء ذخیره میکند.2. ClassB:
- این کلاس به عنوان ورودی یک شیء از نوع
ClassA
دریافت میکند و مقادیر param1
و param2
آن شیء را در خودش ذخیره میکند.- متد
display_params
مقادیر این پارامترها را چاپ میکند.3. نحوه استفاده:
- ابتدا یک شیء از کلاس A با مقادیر خاصی ایجاد میشود.
- سپس این شیء به کلاس B ارسال شده و مقادیر آن استخراج و در کلاس B مورد استفاده قرار میگیرد.
خروجی:
Param1: 10, Param2: 20
به همین سادگی میتوانید پارامترهای یک کلاس را به کلاس دیگری ارسال کرده و از آنها استفاده کنید! 😎
⚠️کلیک کن تا بیشتر یاد بگیری⚠️
#Python #برنامهنویسی #آموزش_پایتون #کلاس_ها #OOP