Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 03.03.2024
Сообщений: 1
Telegram API

Нужна помощь с телеграмм ботом

03.03.2024, 17:20. Показов 618. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, столкнулся с такой проблемой. Нужно создать телеграмм бота который будет каждый день утром и вечером в нужное мне время отправлять в группу случайное приветствующие сообщения в из MESSAGES_MORNING и MESSAGES_EVENING по типу "Доброе утро, доброго вечера", таких заготовленных приветствий должно несколько. Ещё есть HOLIDAY_MESSAGES в котором есть информация оп празднике, его дате и праздничном сообщении, ихм можно дополнять, нужно чтобы бот сверял, есть ли сегодня праздник и если есть то отправлял ранее заготовленное сообщение бот должен работать каждый день.

Я начал делать его с ChatGPT и DeepSeek но увы, ничего не получалось. Тут и там вылезали разные ошибки и код не хотел запускатся. За это время узнал для себя много нового про Python но моего "скилла" не хватало чтобы написать нормальный код)

Буду невероятно благодарен за помощь

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import random
import time
import schedule
from telegram.ext import Updater, CallbackContext
 
# Replace 'YOUR_BOT_TOKEN' with your actual bot token
TOKEN = 'YOUR_BOT_TOKEN'
# Replace 'YOUR_CHAT_ID' with your actual chat ID
CHAT_ID = 'YOUR_CHAT_ID'
# Replace these with your actual messages
MESSAGES_MORNING = ["Good morning message 1", "Good morning message 2", "Another good morning message", "And so on..."]
MESSAGES_EVENING = ["Good evening message 1", "Good evening message 2", "Another good evening message", "And so on..."]
 
# Dictionary of holidays with their corresponding messages
HOLIDAY_MESSAGES = {
    "2024-03-08": "Happy International Women's Day!",
    "2024-05-09": "Happy Victory Day!",
    # ... other holidays and messages ...
}
 
 
def send_random_message(messages, context: CallbackContext):
    random_message = random.choice(messages)
    context.bot.send_message(chat_id=CHAT_ID, text=random_message)
 
 
def send_morning_message(context: CallbackContext):
    send_random_message(MESSAGES_MORNING, context)
 
 
def send_evening_message(context: CallbackContext):
    send_random_message(MESSAGES_EVENING, context)
 
 
def send_congratulation_message(context: CallbackContext, holiday_date: str):
    congratulation_message = HOLIDAY_MESSAGES.get(holiday_date, "Happy holiday!")
    context.bot.send_message(chat_id=CHAT_ID, text=congratulation_message)
 
 
def job():
    # Schedule for morning and evening messages
    schedule.every().day.at("08:00").do(send_morning_message)
    schedule.every().day.at("20:00").do(send_evening_message)
 
    # Schedule for holiday messages
    for date, message in HOLIDAY_MESSAGES.items():
        schedule.every().day.at(f"{date} 18:00").do(send_congratulation_message, holiday_date=date)
 
    # Start the scheduler
    while True:
        schedule.run_pending()
        time.sleep(1)
 
 
def main():
    # Create the Updater and pass it your bot's token.
    updater = Updater(TOKEN, use_context=True)
 
    # Start a separate thread for sending messages based on the schedule
    import threading
    threading.Thread(target=job).start()
 
    # Run the bot until you press Ctrl-C or the process receives SIGINT,
    # SIGTERM or SIGABRT. This should be the last line of your program
    updater.idle()
 
 
if __name__ == '__main__':
    main()
На данный момент PyCharm ругается на это

Unexpected argument
Parameter 'update_queue' unfilled
(55-57 строка)

Python
1
2
3
def main():
    # Create the Updater and pass it your bot's token.
    updater = Updater(TOKEN, use_context=True)
иза этого вылезает такая ошибка

Code
1
2
3
4
5
6
7
Traceback (most recent call last):
  File "C:\Python\TelegaBot\Test.py", line 69, in <module>
    main()
  File "C:\Python\TelegaBot\Test.py", line 57, in main
    updater = Updater(TOKEN, use_context=True)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Updater.__init__() got an unexpected keyword argument 'use_context'
а также ещё ему не нравится

Unresolved attribute reference 'idle' for class 'Updater' (63-65) строка

Python
1
2
3
    # Run the bot until you press Ctrl-C or the process receives SIGINT,
    # SIGTERM or SIGABRT. This should be the last line of your program
    updater.idle()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2024, 17:20
Ответы с готовыми решениями:

Как получить id сообщения, отправленного ботом телеграмм?
Подскажите как получить id отправленного сообщения ботом телеграмм, бот пишется на python

Помощь с телеграм-ботом
Доброго времени суток, уважаемые форумчане! Возникла проблема при создании телеграм-бота. Суть бота такова, что он должен при подписке на...

Отправка файла телеграмм ботом
Здравствуйте, можете подсказать, как сделать отправку телеграмм ботом архива?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2024, 17:20
Помогаю со студенческими работами здесь

Игра Крестики нолики, помощь с ботом
/*я сделал игру крестики нолики на си++, но всё никак не могу додуматься как сделать его умнее, а именно нужно реализовать 3 уровня...

СРОЧНО НУЖНА ПОМОЩЬ! Нужна информация о тест оборудовании
Доброго времени суток! Интересует информация (книги, статьи, научные статьи, сайты, зарубежная приветствуется) о проектировании...

Нужна подмога надо сделать бота в телеграмм который будет брать данные из приложения и скидывать в чат
Бот должен анализировать приложения и отсылать в чат спортивные матчи по критерию и стратегии к примеру Матч: Реал vs Челси 1. Кф на...

Нужна помощь
Доброй вечер. У меня такая проблемка,есть ноутбук Msi cx600 015u,упал со стола в включенном состояние и стал тормозить стал думать что...

Нужна помощь
Поднимал подобную тему не однократно, но толком никто ничего так и не сказал! Краткая история: Под ВЧ продвигалась стрница1 (в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru