try:
with conn.cursor() as cursor:
cursor.execute('SELECT user_id FROM users WHERE user_id = %s', [user.id])
result_user_id = [x[0] for x in cursor.fetchall()]
if user_id not in result_user_id:
sql_insert = 'INSERT INTO users(user_id, first_name, last_name) VALUES(%s, %s, %s)'
val = (user_id, first_name, last_name)
cursor.execute(sql_insert, val)
conn.commit()
except (Exception, psycopg2.Error) as error:
conn.rollback() # Чтобы откатить все изменения в случае ошибки
print(error)
class UserUpdateView(LoggedInMixin, UpdateView):
model = User
context_object_name = 'user_object'
template_name = 'basics/profile_update.html'
form_class = UserUpdateForm
class UserUpdateForm(ModelForm):
class Meta:
model = User
fields = ('avatar', 'birthday', 'sex', 'first_name', 'last_name', 'email')
widgets = {
'birthday': SelectDateWidget(years=range(1940, 2014))
}
bot.start((ctx) => {
ctx.reply('Привет');
ctx.replyWithSticker('CAACAgIAAxkBAAISrV9jK2iLT87OMPNYNR-6FEOWm8qrAAInAwACtXHaBg_03s-gxd3sGwQ');
});
sti = 'CAACAgIAAxkBAAISrV9jK2iLT87OMPNYNR-6FEOWm8qrAAInAwACtXHaBg_03s-gxd3sGwQ'
bot.send_sticker(message.chat.id, sti)
import json
# Например так
a = json.dumps({"a": 1})
При этом обычный список из ссылок на фото возвращает ошибку. В чём проблема?
media
принимает список из типов InputMediaAudio, InputMediaDocument, InputMediaPhoto and InputMediaVideo. Открываете нужный вам тип в документации и смотрите, какие параметры он принимает
media
, caption
и parse_mode
.telebot.types
medias = [types.InputMediaPhoto('https://habrastorage.org/webt/61/99/de/6199de8312758776787774.png'), types.InputMediaPhoto('https://habrastorage.org/getpro/habr/upload_files/1fd/40a/c44/1fd40ac441a0aee55fc90e67997437af.png')]
bot.send_media_group(chat_id, medias)
keyboard = types.ReplyKeyboardMarkup(row_width=1, resize_keyboard=True, one_time_keyboard=True)
cursor.execute(f"SELECT user_id FROM lun_db WHERE user_id = '{userid}'")
if cursor.fetchone() is None:
cursor.execute("INSERT INTO lun_db VALUES(?, ?, ?);", (userid, 0, f"{username}"))
connect.commit()
cursor.execute('UPDATE lun_db SET user_name = ? WHERE user_id = ?', (f"{username}", userid))