mirror of
https://github.com/AAndyProgram/SCrawler.git
synced 2026-03-15 00:02:17 +00:00
2023.1.27.0
85
Plugins.md
85
Plugins.md
@@ -150,40 +150,6 @@ interface ISiteSettings
|
||||
}
|
||||
```
|
||||
|
||||
``` CSharp
|
||||
interface IPluginContentProvider : IDisposable
|
||||
{
|
||||
delegate void ProgressChangedEventHandler(int Count);
|
||||
event ProgressChangedEventHandler ProgressChanged;
|
||||
delegate void TotalCountChangedEventHandler(int Count);
|
||||
event TotalCountChangedEventHandler TotalCountChanged;
|
||||
IThrower Thrower {get; set;};
|
||||
ILogProvider LogProvider {get; set;};
|
||||
ISiteSettings Settings {get; set;};
|
||||
string Name {get; set;};
|
||||
string ID {get; set;};
|
||||
bool ParseUserMediaOnly {get; set;};
|
||||
string UserDescription {get; set;};
|
||||
List<IUserMedia> ExistingContentList {get; set;};
|
||||
List<string> TempPostsList {get; set;};
|
||||
List<IUserMedia> TempMediaList {get; set;};
|
||||
bool UserExists {get; set;};
|
||||
bool UserSuspended {get; set;};
|
||||
bool IsSavedPosts {get; set;};
|
||||
bool SeparateVideoFolder {get; set;};
|
||||
string DataPath {get; set;};
|
||||
Nullable<int> PostsNumberLimit {get; set;};
|
||||
Nullable<DateTime> DownloadDateFrom {get; set;};
|
||||
Nullable<DateTime> DownloadDateTo {get; set;};
|
||||
object ExchangeOptionsGet();
|
||||
void ExchangeOptionsSet(object Obj);
|
||||
void XmlFieldsSet(List<KeyValuePair<string, string>> Fields);
|
||||
List<KeyValuePair<string, string>> XmlFieldsGet();
|
||||
void GetMedia();
|
||||
void Download();
|
||||
}
|
||||
```
|
||||
|
||||
### Site
|
||||
|
||||
Site name. This ReadOnly property must only provide the name of the site. For example: for instagram.com you should set the site name ```Instagram```. The first letter must be uppercase.
|
||||
@@ -366,6 +332,40 @@ If the ```OpenForm``` argument = ```True```, your options form **must** be opene
|
||||
|
||||
## IPluginContentProvider
|
||||
|
||||
``` CSharp
|
||||
interface IPluginContentProvider : IDisposable
|
||||
{
|
||||
delegate void ProgressChangedEventHandler(int Count);
|
||||
event ProgressChangedEventHandler ProgressChanged;
|
||||
delegate void TotalCountChangedEventHandler(int Count);
|
||||
event TotalCountChangedEventHandler TotalCountChanged;
|
||||
IThrower Thrower {get; set;};
|
||||
ILogProvider LogProvider {get; set;};
|
||||
ISiteSettings Settings {get; set;};
|
||||
string Name {get; set;};
|
||||
string ID {get; set;};
|
||||
bool ParseUserMediaOnly {get; set;};
|
||||
string UserDescription {get; set;};
|
||||
List<IUserMedia> ExistingContentList {get; set;};
|
||||
List<string> TempPostsList {get; set;};
|
||||
List<IUserMedia> TempMediaList {get; set;};
|
||||
bool UserExists {get; set;};
|
||||
bool UserSuspended {get; set;};
|
||||
bool IsSavedPosts {get; set;};
|
||||
bool SeparateVideoFolder {get; set;};
|
||||
string DataPath {get; set;};
|
||||
Nullable<int> PostsNumberLimit {get; set;};
|
||||
Nullable<DateTime> DownloadDateFrom {get; set;};
|
||||
Nullable<DateTime> DownloadDateTo {get; set;};
|
||||
object ExchangeOptionsGet();
|
||||
void ExchangeOptionsSet(object Obj);
|
||||
void XmlFieldsSet(List<KeyValuePair<string, string>> Fields);
|
||||
List<KeyValuePair<string, string>> XmlFieldsGet();
|
||||
void GetMedia();
|
||||
void Download();
|
||||
}
|
||||
```
|
||||
|
||||
### ProgressChanged
|
||||
|
||||
```Event ProgressChanged(ByVal Count As Integer)```
|
||||
@@ -459,6 +459,19 @@ Parse site user data
|
||||
|
||||
Download data using parsed information
|
||||
|
||||
## IPropertyProvider
|
||||
|
||||
``` CSharp
|
||||
interface IPropertyProvider : IFormatProvider
|
||||
{
|
||||
string PropertyName {get; set;};
|
||||
}
|
||||
```
|
||||
|
||||
### PropertyName
|
||||
|
||||
The name of the property you are working with
|
||||
|
||||
## IThrower
|
||||
|
||||
This is an exception thrower. If the user requested to cancel operation or delete user instance, an exception will be thrown. Use the ```IThrower.ThrowAny``` method in your code to stop executing when it's requested!
|
||||
@@ -562,6 +575,10 @@ I have developed a fully integrated plugin environment. This means that any of y
|
||||
|
||||
## Provider
|
||||
|
||||
Options:
|
||||
- ```FieldsChecker``` - Read below for this option.
|
||||
- ```Interaction``` - If ```True```, the value in the text field will be changed via the provider when the text changes. The default value is ```False```.
|
||||
|
||||
This attribute indicates that the property is a provider. The provider must be an ```IFormatProvider```.
|
||||
|
||||
There are two working ways: check fields (```FieldsChecker```) and not.
|
||||
|
||||
@@ -133,6 +133,9 @@ The Reddit parser can parse data without cookies, but you can add it if you like
|
||||
- [```Authorization```](#how-to-find-twitter-tokens) - Bearer token. Must start with ```Bearer ``` word followed by a space.
|
||||
- [```Token```](#how-to-find-twitter-tokens) - in this field you need to put ```x-csrf-token```.
|
||||
- ```Saved posts user``` - your personal Reddit username to download your saved posts (bookmarked).
|
||||
- ```Download GIFs``` - *(default for new users)*
|
||||
- ```GIFs special folder``` - *(default for new users)* Put the GIFs in a special folder. **This is a folder name, not an absolute path** (examples: ```SomeFolderName```, ```SomeFolderName\SomeFolderName2```). This folder(s) will be created relative to the user's root folder.
|
||||
- ```GIF prefix``` - *(default for new users)* This prefix will be added to the beginning of the filename.
|
||||
|
||||

|
||||
|
||||
|
||||
Reference in New Issue
Block a user