Scheduled posts botDevelopment & Customization

A Telegram bot for your channel in Python: posts written in a Google Sheet published at the times you set

Usually ready in 15 minutesRevisions includedQuality check
Packages
Payment protectionDetails
  • Revisions within the package are free.
  • If you do not respond within 3 days of delivery, the work is accepted automatically.

The money is reserved when you pay and released only once you accept the work.

A Telegram bot for your channel in Python: posts written in a Google Sheet published at the times you set

Example result

Example for the Standard package

Telegram bot for booking haircuts at a barbershop

The bot in Telegram

Booking a haircut in the bot

A part of the code

async def booking_done(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int:
    """The last step of the form: thanks the client and passes the request on."""
    request = context.user_data["booking"]
    request["phone"] = update.message.text.strip()
    await update.message.reply_text(TEXTS["booking_thanks"], reply_markup=main_menu())
    await context.bot.send_message(settings.admin_chat_id, format_request(request))
    sheet.append_row([datetime.now().isoformat(timespec="minutes"), *request.values()])
    return ConversationHandler.END

All the answers and buttons are in texts.yaml, so the client changes a price or the hours without touching the code.

Files: a ZIP archive with bot.py, texts.yaml, settings.example.env (where the bot token and the sheet go, filled in by the client), requirements.txt and a README: creating the bot in Telegram, connecting the Google Sheet and running it on a small server or hosting. The bot sends the request but does not check the barbers' calendar: the owner confirms the time.

Client: a barbershop with 3 barbers that took bookings only by phone. Task: a Telegram bot with a menu: prices, address and hours, a booking form (service, day and time, name, phone) that sends each request to the owner's chat and adds it to a Google Sheet.

The client and all details are made up.

About this service

If you plan channel posts in a spreadsheet, this Telegram bot can publish them for you. In Premium you keep a Google Sheet with the text of each post, an optional picture link and the date and time; the bot reads it, posts each one to your channel at its time and marks the row as posted. Admin commands show what is queued and pause or resume posting. Basic and Standard cover the readers' side: answers about the channel, its rules and links, and from Standard forms to suggest a post or ask about advertising, sent to your chat and a Google Sheet. The bot posts only the texts you put in the sheet and never writes or edits posts itself. It needs admin rights in the channel and must be running at posting time, on your computer, server or a hosting with Python. It takes no payments, and the token and the Google access key stay with you.

What is included

  • What you getA ZIP archive with the Python code, an example settings file, an example posts sheet for Premium and a README; the code is also shown on the order page.
  • A sheet as the planText, picture link, date and time in each row, in Premium
  • Posted on timeEach post goes out at its time while the bot runs
  • Queue commandsSee what's next, pause and resume
  • Reader formsPost ideas and ad requests to your chat, from Standard
  • Your texts onlyThe bot posts exactly what is in the sheet

How it works

  1. 1
    PlanYou give the channel, the sheet layout you want and the reader texts
  2. 2
    CodeWe write the bot, an example sheet and the guide
  3. 3
    LaunchYou create the bot, make it a channel admin, add the token and run it
  4. 4
    ChangesYou ask for changes within your package

What we need from you

The channel's name or link; the answers for readers (what the channel is about, rules, links, contacts) and the questions of any form; for Premium, the columns you want in the posts sheet, your time zone and the Telegram accounts that may use admin commands. Never send the bot's token, the Google access key or any passwords: the README shows where you put them yourself.

We will ask you:

  • Your channel
  • Posts sheet
  • Time zone
  • Reader texts and forms

Compare packages

PackagesBasicChannel help bot$25StandardChannel bot with forms$49PremiumPosts from a sheet$85
Deadline1 day2 days3 days
Revisions123
PlatformTelegramTelegramTelegram
Ready answersup to 10up to 25up to 40
Forms (request, booking, order)Noup to 3up to 5
Requests sent to your chat and a Google SheetNoYesYes
Admin commands and broadcastsNoNoYes
Languages of the menu112
Posts from a Google Sheet on a scheduleNoNoYes
Order BasicOrder StandardOrder Premium

Payment protection

You pay when you order, but the money is released only for accepted work.

  • Fixed priceThe package price does not change after you pay.
  • The money is reservedWhen you pay, the amount is only reserved. It is released to the service once you accept the work.
  • Checked before deliveryEvery result goes through a quality check before it reaches you, and you see it on the order page before accepting it.
  • Free revisionsAsk for changes within your brief as many times as the package allows.
  • Acceptance after 3 daysIf within 3 days of delivery you neither accept the work nor ask for changes, it is accepted automatically. If you write in the order chat after delivery, the order waits; once we answer, we may start the 3 days again and will say so in the chat.
  • Redo or a full refundIf the result does not match your brief and the revisions did not fix it, or the work takes more than twice its deadline, write in the order chat: we will redo the work or refund the payment in full.
How it works →

Questions and answers

Do I need Premium for scheduled posts?

Yes. Posting from a Google Sheet on a schedule is part of Premium. Basic and Standard answer readers and take their requests.

Does the bot write the posts?

No. It publishes only the texts and picture links you put in the sheet, as they are.

What if the bot is off at posting time?

Then the post waits: when the bot starts again, it publishes overdue posts or skips them, as you choose. The README explains how to keep it running on a server.

Does it need access to my Google account?

It reads one sheet through a Google access key that you create by the README and keep on your server. The key and the bot's token never go to us.

Can it post to several channels?

Yes, if the sheet has a channel column and the bot is an admin in each channel. It works only in Telegram, not in WhatsApp.

Did not find your answer?

Packages