Есть таблица с одним столбцом под названием ID, там будут расположены ID юзеров, которые запустят ID.
И есть триггер слово
kuku , которая показывает все id в таблице.
Сам код :
from aiogram import Bot, Dispatcher, executor
from aiogram.types import Message
import logging
import psycopg2
from aiogram.dispatcher.filters.builtin import CommandStart, Text
bot = Bot(token = 'СЕКРЕТ')
dp = Dispatcher(bot)
logging.basicConfig(format=u'%(filename)s [LINE:%(lineno)d] #%(levelname)-8s [%(asctime)s] %(message)s',
level=logging.INFO)
@dp.message_handler(CommandStart())
async def welcome(message: Message):
user_id = message.chat.id
conn = psycopg2.connect(dbname = "postgres",
user = "postgres",
password = "oybek123",
host = "localhost",
port = 5432)
cursor = conn.cursor()
cursor.execute("INSERT INTO id_list(id) VALUES(%s)",(user_id,))
conn.commit()
conn.close()
@dp.message_handler(Text(equals=["kuku"]))
async def feedback_press_button(message: Message):
conn = psycopg2.connect(dbname="postgres",
user="postgres",
password="oybek123",
host="localhost",
port=5432)
cursor = conn.cursor()
cursor.execute("SELECT * FROM id_list")
grab_data = cursor.fetchall()
for val in grab_data:
await message.answer(val[0])
conn.commit()
conn.close()
await message.answer("OK")
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
==============================
КОД не идеален, я его исправлю.. Но я бы хотел научиться делать следующее. Запустить БОТА+БАЗУ ДАННЫХ на докере.
Просто как эксперимент. Хочу научиться чему-то новому.
Вот докерфайл:
FROM python:3.9
RUN mkdir /src
WORKDIR /src
COPY . /src
RUN pip install -r requirements.txt
докер-композе:
version: '3.1'
services:
tgbot:
container_name: bot
build:
context: .
command: python main.py
restart: always
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: example
adminer:
image: adminer
restart: always
ports:
- 8080:8080
===============================================================
1)настройки сервиса тгбот по-моему корректные, и сам бот запускается.
2) АДМИНЕР:
есть админка для БД админер, она запускается по адресу которую я задал вот тут
conn = psycopg2.connect(dbname = "postgres",
user = "postgres",
password = "oybek123",
host = "
localhost",
port = 5432)
а порт у админера 8080. Когда я пишу в адресную строку
localhost:8080 главная страница админера открывается.
Там есть типы баз данных, логин пароль название и тд.
3) Вот тут проблема:
я набираю
conn = psycopg2.connect(dbname = "postgres",
user = "postgres",
password = "oybek123",
host = "localhost",
port = 5432)
все данные отсюда в графу пароль адрес логин и тд и база данных не открывается. Выходят разного рода проблемы. Помогите пожалуйста мне найти правильный конфиг для корректной работы базы данных в веб интерфейсы, чтобы зайдя на админер и залогинясь в базу я мог смотреть ее наполнение(корректировать) и тд