René's URL Explorer Experiment


Title: Bot · Issue #39 · digitalocean/sample-python · GitHub

Open Graph Title: Bot · Issue #39 · digitalocean/sample-python

X Title: Bot · Issue #39 · digitalocean/sample-python

Description: bot.py import sqlite3 import random from aiogram import Bot, Dispatcher, types, executor from aiogram.types import ParseMode from datetime import datetime ================= CONFIG ================= BOT_TOKEN = "TELEGRAM_BOT_TOKEN" ADMIN_...

Open Graph Description: bot.py import sqlite3 import random from aiogram import Bot, Dispatcher, types, executor from aiogram.types import ParseMode from datetime import datetime ================= CONFIG =================...

X Description: bot.py import sqlite3 import random from aiogram import Bot, Dispatcher, types, executor from aiogram.types import ParseMode from datetime import datetime ================= CONFIG =================...

Opengraph URL: https://github.com/digitalocean/sample-python/issues/39

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Bot","articleBody":"# bot.py\nimport sqlite3\nimport random\nfrom aiogram import Bot, Dispatcher, types, executor\nfrom aiogram.types import ParseMode\nfrom datetime import datetime\n\n# ================= CONFIG =================\nBOT_TOKEN = \"TELEGRAM_BOT_TOKEN\"\nADMIN_ID = 123456789  # Sizning telegram ID\nCHANNEL_USERNAME = \"@siznikanal\"\n# ==========================================\n\nbot = Bot(token=BOT_TOKEN)\ndp = Dispatcher(bot)\n\n# ============== DATABASE ==================\nconn = sqlite3.connect(\"pubg_bot.db\")\ncursor = conn.cursor()\n\ncursor.execute(\"\"\"\nCREATE TABLE IF NOT EXISTS users (\n    id INTEGER PRIMARY KEY,\n    telegram_id INTEGER UNIQUE,\n    username TEXT,\n    balance INTEGER DEFAULT 0,\n    referral_id INTEGER,\n    joined_at TEXT DEFAULT CURRENT_TIMESTAMP\n)\n\"\"\")\nconn.commit()\n\ndef add_user(telegram_id, username, referral_id=None):\n    cursor.execute(\"INSERT OR IGNORE INTO users (telegram_id, username, referral_id) VALUES (?, ?, ?)\",\n                   (telegram_id, username, referral_id))\n    conn.commit()\n\ndef update_balance(telegram_id, amount):\n    cursor.execute(\"UPDATE users SET balance = balance + ? WHERE telegram_id = ?\", (amount, telegram_id))\n    conn.commit()\n\ndef get_user(telegram_id):\n    cursor.execute(\"SELECT * FROM users WHERE telegram_id = ?\", (telegram_id,))\n    return cursor.fetchone()\n\ndef get_all_users():\n    cursor.execute(\"SELECT * FROM users\")\n    return cursor.fetchall()\n# ==========================================\n\n# =============== BOT HANDLERS ==============\n@dp.message_handler(commands=[\"start\"])\nasync def start(message: types.Message):\n    referral_id = None\n    if len(message.text.split()) \u003e 1:\n        try:\n            referral_id = int(message.text.split()[1])\n        except:\n            referral_id = None\n\n    user = get_user(message.from_user.id)\n    if not user:\n        add_user(message.from_user.id, message.from_user.username, referral_id)\n\n        # Referral bonus\n        if referral_id:\n            update_balance(referral_id, 5)  # 5 UC bonus referral uchun\n\n    # Obuna tekshiruvi\n    try:\n        chat_member = await bot.get_chat_member(CHANNEL_USERNAME, message.from_user.id)\n        if chat_member.status in [\"left\", \"kicked\"]:\n            await message.answer(f\"Avvalo kanalga obuna bo‘ling: {CHANNEL_USERNAME}\")\n            return\n    except:\n        await message.answer(\"Kanalni tekshirishda xatolik yuz berdi. Kanal username tekshiring.\")\n        return\n\n    await message.answer(\"Salom! Siz botga muvaffaqiyatli ulandingiz.\\n\\n/balance - Balansingizni ko‘rish\\n/lucky - Lucky Spin o‘ynash\")\n\n@dp.message_handler(commands=[\"balance\"])\nasync def balance(message: types.Message):\n    user = get_user(message.from_user.id)\n    if user:\n        await message.answer(f\"Sizning balansingiz: {user[3]} UC\")\n\n@dp.message_handler(commands=[\"lucky\"])\nasync def lucky(message: types.Message):\n    user = get_user(message.from_user.id)\n    if not user:\n        await message.answer(\"Avvalo /start bosing\")\n        return\n    prize = random.choice([0, 5, 10, 20, 50])\n    update_balance(message.from_user.id, prize)\n    await message.answer(f\"🎰 Lucky Spin natijasi: {prize} UC qo‘shildi!\\nYangi balans: {get_user(message.from_user.id)[3]} UC\")\n\n# ================ ADMIN COMMANDS =============\n@dp.message_handler(lambda message: message.from_user.id == ADMIN_ID, commands=[\"users\"])\nasync def admin_users(message: types.Message):\n    users = get_all_users()\n    text = f\"Foydalanuvchilar soni: {len(users)}\\n\\n\"\n    for u in users:\n        text += f\"ID:{u[1]} | Username: @{u[2]} | Balance: {u[3]} UC\\n\"\n    await message.answer(text)\n\n@dp.message_handler(lambda message: message.from_user.id == ADMIN_ID, commands=[\"add\"])\nasync def admin_add(message: types.Message):\n    try:\n        parts = message.text.split()\n        tg_id = int(parts[1])\n        amount = int(parts[2])\n        update_balance(tg_id, amount)\n        await message.answer(f\"{amount} UC foydalanuvchi {tg_id} balansiga qo‘shildi!\")\n    except:\n        await message.answer(\"Xatolik! Format: /add \u003ctelegram_id\u003e \u003camount\u003e\")\n\n# ==========================================\n\nif __name__ == \"__main__\":\n    executor.start_polling(dp, skip_updates=True)","author":{"url":"https://github.com/sharofiddinyuldoshov655-arch","@type":"Person","name":"sharofiddinyuldoshov655-arch"},"datePublished":"2026-04-03T15:38:55.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/39/sample-python/issues/39"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:b5805c87-8277-0af7-7ce3-3c1ef13dbb7f
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id952A:1C9FF9:15C6FCD:1E44335:6A61C74C
html-safe-noncec3f48b929ec20cd90d7442376894fca4487c4bb6d8973fd5ed9af41efb0f367e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5NTJBOjFDOUZGOToxNUM2RkNEOjFFNDQzMzU6NkE2MUM3NEMiLCJ2aXNpdG9yX2lkIjoiMjExNzg2NjI1MTA5NjI3ODg2MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac85ce4176aeba08d55babc1790b84215fa1feb12c09cb89bd8eacb511f16e6e81
hovercard-subject-tagissue:4201092796
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/digitalocean/sample-python/39/issue_layout
twitter:imagehttps://opengraph.githubassets.com/4b9d9179d44f2b21539c2471dd63c03042ca70e71553d2e900be8c88b90b1b73/digitalocean/sample-python/issues/39
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/4b9d9179d44f2b21539c2471dd63c03042ca70e71553d2e900be8c88b90b1b73/digitalocean/sample-python/issues/39
og:image:altbot.py import sqlite3 import random from aiogram import Bot, Dispatcher, types, executor from aiogram.types import ParseMode from datetime import datetime ================= CONFIG =================...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamesharofiddinyuldoshov655-arch
hostnamegithub.com
expected-hostnamegithub.com
None6f4633bcf01c1ad14b73fd07dd39ac31d61f3d3c2578ee08ec1792b7b351eeb9
turbo-cache-controlno-preview
go-importgithub.com/digitalocean/sample-python git https://github.com/digitalocean/sample-python.git
octolytics-dimension-user_id4650108
octolytics-dimension-user_logindigitalocean
octolytics-dimension-repository_id280198175
octolytics-dimension-repository_nwodigitalocean/sample-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id280198175
octolytics-dimension-repository_network_root_nwodigitalocean/sample-python
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releaseac296ae7f21856f1f92adbad22f870b6fbb4b907
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/digitalocean/sample-python/issues/39#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdigitalocean%2Fsample-python%2Fissues%2F39
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdigitalocean%2Fsample-python%2Fissues%2F39
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=digitalocean%2Fsample-python
Reloadhttps://github.com/digitalocean/sample-python/issues/39
Reloadhttps://github.com/digitalocean/sample-python/issues/39
Reloadhttps://github.com/digitalocean/sample-python/issues/39
Please reload this pagehttps://github.com/digitalocean/sample-python/issues/39
digitalocean https://github.com/digitalocean
sample-pythonhttps://github.com/digitalocean/sample-python
Notifications https://github.com/login?return_to=%2Fdigitalocean%2Fsample-python
Fork 330 https://github.com/login?return_to=%2Fdigitalocean%2Fsample-python
Star 63 https://github.com/login?return_to=%2Fdigitalocean%2Fsample-python
Code https://github.com/digitalocean/sample-python
Issues 1 https://github.com/digitalocean/sample-python/issues
Pull requests 10 https://github.com/digitalocean/sample-python/pulls
Actions https://github.com/digitalocean/sample-python/actions
Projects https://github.com/digitalocean/sample-python/projects
Security and quality 0 https://github.com/digitalocean/sample-python/security
Insights https://github.com/digitalocean/sample-python/pulse
Code https://github.com/digitalocean/sample-python
Issues https://github.com/digitalocean/sample-python/issues
Pull requests https://github.com/digitalocean/sample-python/pulls
Actions https://github.com/digitalocean/sample-python/actions
Projects https://github.com/digitalocean/sample-python/projects
Security and quality https://github.com/digitalocean/sample-python/security
Insights https://github.com/digitalocean/sample-python/pulse
Bothttps://github.com/digitalocean/sample-python/issues/39#top
https://github.com/sharofiddinyuldoshov655-arch
sharofiddinyuldoshov655-archhttps://github.com/sharofiddinyuldoshov655-arch
on Apr 3, 2026https://github.com/digitalocean/sample-python/issues/39#issue-4201092796
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.