Дз:
Сделать бота, который на картинку отвечает рандомную сумму за не.
Прислать код обязательно, без айди, и скинуть бота(запущенного) .
Сделать бота, который на картинку отвечает рандомную сумму за не.
Прислать код обязательно, без айди, и скинуть бота(запущенного) .
Жаль, что никто дз пока не сделал, сразу после первой сдачи(верной или не верной) я вышлю решение.
Теперь можно сделать кнопку под сообщением.
Данный код добавит две кнопки да и нет, но они ничего не делают.
Теперь надо добавить обработчик события нажатия.
Теперь можно сделать кнопку под сообщением.
keyboard = types.InlineKeyboardMarkup(); #наша клавиатура
key_yes = types.InlineKeyboardButton(text='Да', callback_data='yes'); #кнопка «Да»
keyboard.add(key_yes); #добавляем кнопку в клавиатуру
key_no= types.InlineKeyboardButton(text='Нет', callback_data='no');
keyboard.add(key_no);
bot.send_message(message.from_user.id, text="съесть шаву?", reply_markup=keyboard)
Данный код добавит две кнопки да и нет, но они ничего не делают.
Теперь надо добавить обработчик события нажатия.
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
if call.data == "yes": #call.data это callback_data, которую мы указали при объявлении кнопки
bot.send_message(call.message.chat.id, 'и мне купи');
elif call.data == "no":
#эммм тут не должно было #быть этого варианта
Дз:
К боту из первого задания добавить кнопки купить или дорого и сделать на них какие-то действия.
К боту из первого задания добавить кнопки купить или дорого и сделать на них какие-то действия.
Продолжим расширять наши знания.
Файловый ввод-вывод реализуется стандартными функциями языка. Файлы читаются по строкам, пишутся по символам.
Например:
В данном коде мы открываем фаил и сразу закрываем.
open() может иметь в качестве второго аргумента:
-"r", если нужно просто прочитать файл
-"w ", если нужно удалить все и записать новое.
-"a ", если нужно добавить в файл записи.
Также есть комбинированные режимы, например "rw".
С read и write разберетесь.
Файловый ввод-вывод реализуется стандартными функциями языка. Файлы читаются по строкам, пишутся по символам.
Например:
fail=open("somefile.txt", "r")
file.close()В данном коде мы открываем фаил и сразу закрываем.
open() может иметь в качестве второго аргумента:
-"r", если нужно просто прочитать файл
-"w ", если нужно удалить все и записать новое.
-"a ", если нужно добавить в файл записи.
Также есть комбинированные режимы, например "rw".
С read и write разберетесь.
Дз:
Сделать текстовый файл в который бот будет добавлять список людей, что написали боту и цену, которую они предложили.
Сделать текстовый файл в который бот будет добавлять список людей, что написали боту и цену, которую они предложили.
Ок, кто сделает дз(все 3,что были по ботам и это) верно раньше всех, получит шоколадку от меня.
👍3
bot.polling(none_stop=True, interval=0)
Допустим если написать это в конец то будет лучше.
from random import randint
import telebot
from telebot import types
bot=telebot.TeleBot("")
pamet = ["Name","Sell"]
@bot.message_handler(content_types=['photo'])
def get_photo(message):
sell = str(randint(0,10**5))+"$"
pamet[1]=sell
keyboard = types.InlineKeyboardMarkup()
key_pr = types.InlineKeyboardButton(text='Продать', callback_data='pr')
keyboard.add(key_pr);
key_os = types.InlineKeyboardButton(text='Оставить', callback_data='os')
keyboard.add(key_os);
bot.reply_to(message, sell ,reply_markup=keyboard)
pamet[0]=str(message.from_user.id)
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
if message.text == "Баланс":
f = open('balance.txt', 'r')
a = f.read().split()
name=str(message.from_user.id)
if name in a:
bot.send_message(message.from_user.id,a[a.index(pamet[0])+1])
else:
bot.send_message(message.from_user.id,"0$")
bot.send_message(message.from_user.id,"Вы не продали ещё не одной картины.")
f.close()
else:
bot.send_message(message.from_user.id,"Пока я умею только показывать ваш баланс - \"Баланс\" \n И продавать фотографии - скиньте фотографию")
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
if call.data == "pr":
bot.send_message(call.message.chat.id, 'Вы успешно продали картину');
f = open('balance.txt', 'r')
a = f.read().split()
if pamet[0] in a: a[a.index(pamet[0])+1]=str(int(a[a.index(pamet[0])+1][:-1])+int(pamet[1][:-1]))+"$";
else:
a.append(pamet[0])
a.append(pamet[1])
f = open('balance.txt', 'w')
f.write(" ".join(a))
f.close()
elif call.data == "os":
bot.send_message(call.message.chat.id, 'Вы успешно сохранили эту картину');
bot.polling(none_stop=True, interval=0)
Вот, наш герой это банбанан и он написал это
Меня тут все просят олимпиадных рассказать, не совсем олимпиадная но почему бы и нет...
Задача(разминка) :
Сложить два числа без ограничений на числа(они могут спокойно быть больше чем 100 в 100 в 100)
Задача(разминка) :
Сложить два числа без ограничений на числа(они могут спокойно быть больше чем 100 в 100 в 100)
Python3000
dzen.ru/py3000?share_to=link если хотите
Люди надо 10 людей сюда пжпжпж
Так вот, поскольку я не знаю, что вам дать по бокам, предложите идеи в коменты))))
Есть идея, если вы сделали дз, то вым даётся 1-5 очков в зависимости от решения.И кто че-з месяц наберёт больше всех очков получит шоколадку.