Repo for Random From Follows and Random - Only Posts.
at main 1.4 kB view raw
1from atproto import Client, models 2import config 3 4feed_config = config.FEEDS['random_onlyposts'] 5 6def main(): 7 client = Client() 8 client.login(config.HANDLE, config.PASSWORD) 9 10 feed_did = f'did:web:{config.HOSTNAME}' 11 12 avatar_blob = None 13 avatar_path = feed_config.get('avatar_path', None) 14 if avatar_path is not None and avatar_path != '': 15 with open(avatar_path, 'rb') as file: 16 avatar_data = file.read() 17 avatar_blob = client.com.atproto.repo.upload_blob(avatar_data).blob 18 19 # response = client.com.atproto.repo.delete_record(models.ComAtprotoRepoDeleteRecord.Data( 20 # repo=client.me.did, 21 # collection=models.ids.AppBskyFeedGenerator, 22 # rkey='favorites', 23 # )) 24 response = client.com.atproto.repo.put_record(models.ComAtprotoRepoPutRecord.Data( 25 repo=client.me.did, 26 collection=models.ids.AppBskyFeedGenerator, 27 rkey=feed_config['record_name'], 28 record=models.AppBskyFeedGenerator.Record( 29 did=feed_did, 30 display_name=feed_config['display_name'], 31 description=feed_config['description'], 32 avatar=avatar_blob, 33 created_at=client.get_current_time_iso(), 34 ) 35 )) 36 37 print('Successfully published!') 38 # print('Feed URI:', response.uri) 39 40if __name__ == '__main__': 41 main()