Можно использовать sqlite3 в асинхронном боте?
Правда, она однопоточная, и при попытке получить доступ с нескольких потоков выкинет ошибку о блокировке. Пока один поток обрабатывает данные - дб лочится. В принципе, сравнимо с попыткой открыть один файл два раза.

Лучше использовать полноценную базу данных как postgres, например. В ней и полей больше, и поддерживается доступ с нескольких потоков. sqlite3 это поиграться и для тестов, по сути это простое key-value хранилище с самыми примитивными данными: int, real, blob, text, как БД в словаре в .json файле.
Достаточно организовать очередь запросов. Т.е. пока идёт один запрос, не позволять выполнять второй. 
Если на бд нет большой нагрузки, то sqlite справится с этим. 
В противном случае воспользуйтесь любой клиент-серверной БД.